GNet

GNet is a simple network library. It is written in C, object-oriented, and built upon GLib. It is intended to be small, fast, easy-to-use, and easy to port. The interface is similar to the interface for Java's network library.

GNet has been ported to Linux, BSD, macOS, Solaris, HP-UX, and Windows. It may work on other flavors of Unix too.

According to the GNet reference below, GNet is very soon (with the release of GLib 2.22.0) going to be deprecated and replaced by the newly added platform-independent network and socket abstraction layer in GLib/Gio

GNet Features

 * TCP "client" and "server" sockets.
 * UDP and IP Multicast sockets.
 * High-level TCP connection and server objects.
 * GConnHttp - HTTP connection object.
 * Asynchronous socket IO.
 * Internet address abstraction.
 * Asynchronous DNS lookup.
 * IPv4 and IPv6 support.
 * Byte packing and unpacking.
 * URI parsing.
 * SHA-1 and MD5 hashes.
 * Base64 encoding and decoding.
 * SOCKS support.

Applications that use GNet

 * eDonkey2000 - eDonkey2000 GTK GUI (DFS) frontend
 * Gnome Chinese Checkers - board game
 * Gnome Jabber - instant messaging and chat
 * gtermix - telnet client for BBSes
 * Jungle Monkey - distributed file sharing program
 * Mail Notify - mail notification applet
 * MSI - multi-simulation interface
 * Pan - Gnome Newsreader
 * PreViking - telephony middleware
 * Sussen - network scanner (GNetLibrary)
 * Workrave - rest break reminder