GNet README ----------- GNet is a simple network library. It is writen in C, object-oriented, and built upon GLib. It is intended to be small, fast, easy-to-use, and easy to port. GNet comes with documentation and examples. It is licensed under the GNU Library General Public Licence. Features: * TCP "client" and "server" sockets * UDP and IP Multicast * Internet address abstraction * Asynchronous socket IO * Asynchronous DNS lookup * Byte packing and unpacking * URLs (Experimental) * Server and Conn objects (Experimental) * SOCKS support (Experimental) GNet has been ported to Linux, *BSD, MacOSX, Solaris, HP, MacOS X, and Windows. It may work on other operating systems also. GNet requires GLib 1.2, available at www.gtk.org. Or, if you have a system with packages (e.g., Red Hat or Debian), look for the latest glib package. Comments and questions should be sent to gnet@gnetlibrary.org. The GNet homepage is at . Install ======= In a nutshell: > ./configure > make > make install To force GNet to build against GLib 1.3/2.0, pass the --enable-glib2 to configure. GNet will attempt to build against GLib 1.2 by default and GLib 1.3/2.0 if 1.2 is not available. INSTALL is the standard autoconf INSTALL file. Bugs ==== Bug reports should be submited through . Mailing lists ============= Go to to join the mailing lists and view the archives. Name Purpose gnet-announce Announcements about GNet gnet-discuss Discussion of GNet for users and programmers gnet-dev Discussion of GNet for the developers of GNet Developer info ============== API documentation lives on the GNet homepage (specifically, at ) NOTE ON EXPERIMENTAL FEATURES. The URL, Server, and Conn modules are experimental and part of the IOChannel module is also experimental. The GNet development team believes these modules are useful and usable, but are not yet completely confident in them. The API to these modules may change and there may still be bugs in them. For example, the URL module is incomplete and the new IOChannel functions should be audited again. If you are feeling adventurous and want to use these functions, define GNET_EXPERIMENTAL. Otherwise, your compiler should warn or fail if they are used. We welcome bug fixes, improvements, and comments on the experimental modules. Our hope is that adventurous programmers will use these modules and help in their further development. The Nylon SOCKS server is required for SOCKS server socket support. SOCKS server sockets are weird. Marius, a Nylon and GNet developer, changed the semantics in Nylon to make SOCKS integration in GNet easier/possible. GNet SOCKS clients should work with any SOCKS server. The Nylon homepage is . Hacking ======= If you are interested in contributing to GNet, please see 'HACKING'. This includes information on how to get GNet from the repository and how to submit patches. License ======= Read COPYING for information on the license. GNet is under the GNU LGPL. In a nutshell: You can share GNet with your friends and make changes to it, but it's not our fault if it breaks your computer. Applications that use GNet ========================== Jungle Monkey distributed file sharing program http://www.junglemonkey.net Gabber messaging/chat program http://gabber.sourceforge.net Ximian Gnome Installer and Red Carpet software package management http://www.ximian.com PreViking telephony middleware http://www.bellworldwide.net/previking/ B-Chat 3rd party Yahoo! Chat client http://btech1.sourceforge.net GnomeICU Gnome ICU client http://gnomeicu.sourceforge.net .