how to get a SOCKET from a source
- From: Rick Jones <rick jones2 hp com>
- To: gtk-list gnome org
- Subject: how to get a SOCKET from a source
- Date: Tue, 14 Mar 2006 15:18:56 -0800
I've a small program that creates a listen endpoint, and registers a 
watch on it.  when it goes ready I want to then call accept() against 
the listen_fd registered in the source.
gboolean  accept_connection(GIOChannel *source,
			    GIOCondition condition,
			    gpointer data) {
  SOCKET control_socket;
  SOCKET listen_socket;
  gboolean ret;
  g_print("accepting a new connection\n");
#ifdef G_OS_WIN32
  /* what is the call here? */
#else
  listen_socket = g_io_channel_unix_get_fd(source);
#endif
  control_socket = accept(listen_socket,NULL,0);
  if (control_socket == SOCKET_ERROR) {
    g_print("accept failed\n");
    exit(-1);
  }
the question of course, is how can  I extract the SOCKET (listen_socket) 
which was previously registered:
#ifdef G_OS_WIN32
    control_channel = g_io_channel_win32_new_socket(listen_sock);
#else
    control_channel = g_io_channel_unix_new(listen_sock);
#endif
Based on an assumption of symmetry, I took a wild guess that it would be 
"g_io_channel_win32_get_socket" but that doesn't seem to be the case.
thanks,
rick jones
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]