5 void client_event (GConn* conn, GConnEvent* event, gpointer data)
8 server = (GConn*) data;
11 case GNET_CONN_CONNECT:
12 fprintf (stderr, "Connected to localhost:80.\n");
13 gnet_conn_read (conn);
18 fprintf (stderr, "Establishing connection to localhost:80.\n");
19 server = gnet_conn_new ("127.0.0.1", 80, client_event, (gpointer) conn);
20 gnet_conn_connect (server);
21 gnet_conn_set_callback (conn, client_event, (gpointer) server);
23 gnet_conn_write (server, event->buffer, event->length);
24 gnet_conn_read (conn);
29 fprintf (stderr, "Received an unexpected client event.\n");
34 void new_client (GServer* server, GConn* conn, gpointer data)
38 fprintf (stderr, "Server has received an error event.\n");
41 gnet_conn_set_callback (conn, client_event, NULL);
42 gnet_conn_read (conn);
55 keyfile = g_key_file_new ();
57 g_key_file_load_from_file (keyfile, "conf", G_KEY_FILE_NONE, NULL);
59 conf_address = g_key_file_get_string (keyfile, "global", "address", NULL);
60 port = g_key_file_get_integer (keyfile, "global", "port", NULL);
62 printf ("Listen address is %s:%d\n", conf_address, port);
64 inetaddr = gnet_inetaddr_new_nonblock (conf_address, port);
65 gnet_server_new (inetaddr, port, new_client, NULL);
67 g_main_loop_run (g_main_loop_new (g_main_context_default (), TRUE));