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);
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");
if (!g_tcp_client_connect (client, NULL, &error)) {
g_warning (error->message);
- return;
+ return 1;
}
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);