Starting the NetworkStreams. HTTP to www.google.com works
[cascardo/gnio.git] / test / test-tcp-client.c
index f13aae8..467d172 100644 (file)
@@ -21,7 +21,11 @@ accept_callback (GSocket *socket, GAsyncResult *result, gpointer data)
 int main (int argc, char *argv[])
 {
        GTcpClient *client;
+       GInputStream *input;
+       GOutputStream *output;
        GError *error = NULL;
+       gchar buffer[512] = {0};
+       gssize count;
 
        g_thread_init (NULL);
 
@@ -29,7 +33,7 @@ int main (int argc, char *argv[])
 
        loop = g_main_loop_new (NULL, FALSE);
 
-       client = g_tcp_client_new ("localhost", 90);
+       client = g_tcp_client_new ("www.google.com", 80);
 
        g_print ("connecting to www.google.com:80\n");
 
@@ -40,6 +44,26 @@ int main (int argc, char *argv[])
 
        g_print ("connected!\n");
 
+       output = G_OUTPUT_STREAM (g_tcp_client_get_output_stream (client));
+
+       input = G_INPUT_STREAM (g_tcp_client_get_input_stream (client));
+
+       g_print ("writing...\n");
+
+       if ((count = g_output_stream_write (output, "GET / HTTP/1.0\r\n\r\n", 19, NULL, &error)) < 0) {
+               g_warning (error->message);
+               return 1;
+       }
+
+       g_print ("wrote %d bytes\n", count);
+
+       if ((count = g_input_stream_read (input, buffer, 512, NULL, &error)) < 0) {
+               g_warning (error->message);
+               return 1;
+       }
+
+       g_print ("read %d bytes: %s\n", count, buffer);
+
        g_object_unref (G_OBJECT (client));
 
 //     g_main_loop_run (loop);