Fixed building issues after merge
[cascardo/gnio.git] / test / test-tcp-client.c
1 #include <gio/gio.h>
2 #include <gnio/gnio.h>
3
4 GMainLoop *loop;
5
6 static void
7 connect_callback (GObject *source, GAsyncResult *result, gpointer data)
8 {
9         GTcpClient *client = G_TCP_CLIENT (source);
10         GInputStream *input;
11         GOutputStream *output;
12         gchar buffer[512] = {0};
13         gssize count;
14         GError *error = NULL;
15
16         if (!g_tcp_client_connect_finish (client, result, &error)) {
17                 g_warning (error->message);
18                 return;
19         }
20
21         g_print ("successfully connected\n");
22
23         output = G_OUTPUT_STREAM (g_tcp_client_get_output_stream (client));
24
25         input = G_INPUT_STREAM (g_tcp_client_get_input_stream (client));
26
27         g_print ("writing...\n");
28
29         if ((count = g_output_stream_write (output, "GET / HTTP/1.0\r\n\r\n", 19, NULL, &error)) < 0) {
30                 g_warning (error->message);
31                 return;
32         }
33
34         g_print ("wrote %" G_GSSIZE_FORMAT " bytes\n", count);
35
36         if ((count = g_input_stream_read (input, buffer, 512, NULL, &error)) < 0) {
37                 g_warning (error->message);
38                 return;
39         }
40
41         g_print ("read %" G_GSSIZE_FORMAT " bytes: %s\n", count, buffer);
42 }
43
44 int main (int argc, char *argv[])
45 {
46         GTcpClient *client;
47
48         g_thread_init (NULL);
49
50         g_type_init ();
51
52         loop = g_main_loop_new (NULL, FALSE);
53
54         client = g_tcp_client_new ("localhost", 31882);
55
56         g_print ("connecting to www.google.com:80\n");
57
58         g_tcp_client_connect_async (client, NULL, connect_callback, NULL);
59
60         g_print ("connecting seems to have begun\n");
61 /*
62         if (!g_tcp_client_connect (client, NULL, &error)) {
63                 g_warning (error->message);
64                 return 1;
65         }
66
67         g_print ("connected!\n");
68
69         g_object_unref (G_OBJECT (client));
70 */
71
72         g_main_loop_run (loop);
73
74         return 0;
75 }
76