loop = g_main_loop_new (NULL, FALSE);
- socket = g_socket_new (G_SOCKET_DOMAIN_INET, G_SOCKET_TYPE_STREAM, NULL, NULL);
+ socket = g_socket_new (G_SOCKET_DOMAIN_INET, G_SOCKET_TYPE_STREAM, NULL);
+
+ g_socket_set_reuse_address (socket, TRUE);
if (!g_socket_bind (socket, G_SOCKET_ADDRESS (g_inet_socket_address_new (G_INET_ADDRESS (g_inet4_address_from_string ("127.0.0.1")), 31882)), &error)) {
g_error (error->message);
return 0;
}
- g_socket_listen (socket, 10);
+ if (!g_socket_listen (socket, &error)) {
+ g_error (error->message);
+ return 0;
+ }
g_print ("listening on port 31882...\n");
if (size == 0)
break;
- g_print ("received %d bytes of data: %s\n", size, buffer);
+ g_print ("received %" G_GSSIZE_FORMAT " bytes of data: %s\n", size, buffer);
if ((size = g_socket_send (new_socket, buffer, size, &error)) < 0) {
g_error (error->message);
g_print ("connection closed\n");
+ g_object_unref (G_OBJECT (new_socket));
+
+ g_socket_close (socket);
+
+ g_object_unref (G_OBJECT (socket));
+
return 0;
}