GNetwork Library Frequently Asked Questions: ============================================================================ Check here before pestering :-) Q.) Why doesn't the GNetwork Library use Link/GNet/libsoup? A.) This library is intended to unify all the above libraries into one, easy-to-code-for library. Specifically: 1.) Link doesn't return specific errors, cache DNS returns, or handle proxies. All these features are useful to applications. 2.) GNet doesn't use GObject, or cache DNS return, or do a whole lot of things in a non-blocking way. It also doesn't support non-SOCKS proxies. 3.) Libsoup doesn't use GObject. Really, parts of the GNetwork library operate like parts of the above three libraries. It's object-oriented and threadsafe, like Link, handles UDP & IP multicast like GNet, and abuses GIOChannel for TCP/IP connections, like libsoup. Q.) So, is the GNetwork Library a GNOME Library? A.) Not strictly. It was intended to be used primarily by GNOME applications, but it does not use any libraries with "gnome" in the name. It depends on: GConf2 (& thus libbonobo and ORBit2) Glib/GThread/GObject 2.4 and optionally: GnuTLS or OpenSSL So, it depends on three packages which one would typically install only for GNOME (GConf, ORBit, & Bonobo), but are not strictly "GNOME-only". You make the call :-) Q.) Why did you write *another* networking library, aren't there, like, 5000? A.) I dunno, why use socket()? Why not just write the raw data directly to the ethernet card's buffer... If you've got a specific lib in mind, see #1. Q.) Where/how do I report a bug? A.) First, if it is a crash, make sure the crash is actually GNetwork's fault, and not the app freeing some memory that GNetwork expects expects or overflowing a buffer or something (after all, this is C). Of particular importance is running your application with the MALLOC_CHECK_ environment variable set. With all that out of the way, there's a bugzilla module at: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-network