I realize this is very late, but I'm trying to get libgnetwork into 2.5.0. It's a rename/rework of the GTcpSocket library, and is available at: http://esco.mine.nu/downloads/libgnetwork-0.0.0.tar.gz and the 'libgnetwork' module in CVS. It's currently broken due to the massive API/code organization changes I spent the last week on, but it does build, and will definately be stable (code- and API-wise) enough to use before 2.6.0 (The stuff that's left is filling in the missing pieces, and some thread issues re: closing sockets). The pros/cons vs some other networking libs: GNet: + Uses GObject. + Multi-threaded. + Automatic proxy traversal (nearly transparent to apps). + Easily extensible. + GNUTLS *or* OpenSSL. - Doesn't handle URIs or UDP (yet). - Doesn't support UDP or Unix sockets (yet). Link: + Not private to ORBit :-). + More detailed signals and error reporting. + Automatic proxy traversal (nearly transparent to apps). + DNS API (it's sexy :-)). + GNUTLS *or* OpenSSL. - Doesn't support UDP or Unix sockets (yet). GTcpSocket: + Much cleaner object hierarchy & signals (using GNetwork{Connection,Server}Iface). GnomeVFS: + GObject. + (Eventually) more complete SSL support (X509 certificate verification, for example). + Non-HTTP Proxy support: currently supports HTTP, SOCKS4, and SOCKS5 (HTTPS/SSL & FTP are planned). And most importantly, it'll be used by gnome-network :-). To get an idea of how it's used: void sent_cb (GNetworkConnection * cxn, gconstpointer data, gulong length, gpointer user_data); void recv_cb (GNetworkConnection * cxn, gconstpointer data, gulong length, gpointer user_data); void error_cb (GNetworkConnection * cxn, GError * error, gpointer user_data); void cxn_starter (gpointer data) { GObject *cxn; cxn = gnetwork_tcp_connection_new (GNETWORK_TCP_PROXY_HTTP, "127.0.0.1", 80); g_signal_connect (cxn, "notify::tcp-status", notify_tcp_status_cb, NULL); g_signal_connect (cxn, "sent", sent_cb, NULL); g_signal_connect (cxn, "received", recv_cb, NULL); g_signal_connect (cxn, "error", error_cb, NULL); gnetwork_connection_open (GNETWORK_CONNECTION (cxn)); } There's also a server object :-). -- Peace, Jim Cape http://ignore-your.tv "It is literally true that, like Christianity, Socialism has conquered the world by defeating itself." -- Alexander Berkman, ABC of Anarchism
Attachment:
signature.asc
Description: This is a digitally signed message part