|  |  |  | GNet Network Library Reference Manual |  | 
|---|---|---|---|---|
#include <gnet.h>
                    GServer;
void                (*GServerFunc)                      (GServer *server,
                                                         GConn *conn,
                                                         gpointer user_data);
GServer*            gnet_server_new                     (const GInetAddr *iface,
                                                         gint port,
                                                         GServerFunc func,
                                                         gpointer user_data);
void                gnet_server_delete                  (GServer *server);
void                gnet_server_ref                     (GServer *server);
void                gnet_server_unref                   (GServer *server);
A GServer represents a TCP server.  GServer is a thin wrapper around a
TCP server socket.  To create a new GServer, call gnet_server_new().
One of the arguments is a callback function that is called with a new
GConn whenever a new client connects.  Remember to call
gnet_conn_set_callback() on the new GConn to set the GConn callback.
To delete a GServer, call gnet_server_delete().
See also GConn and the echoserver-gserver example.
typedef struct {
  GInetAddr* 	iface;
  gint		port;
  GTcpSocket* 	socket;
  guint 	ref_count;
  GServerFunc	func;
  gpointer	user_data;
} GServer;
GServer is a high-level interface to a TCP server socket. The callback is called with a GConn whenever a new connection is made.
| GInetAddr * iface; | interface address | 
| gint port; | port number | 
| GTcpSocket * socket; | TCP server socket | 
| guint ref_count; | [private] | 
| GServerFunc func; | callback function | 
| gpointer user_data; | user data for callback | 
void (*GServerFunc) (GServer *server, GConn *conn, gpointer user_data);
Callback for gnet_server_new().  When a client connects, this
  callback is called with a new connection.  If the server fails,
  this callback is called with conn set to NULL.  The callback is
  not called again.
  If conn is non-NULL, the address (IP, port) of the client that
  established the connection can be found in the inetaddr member of
  the GConn structure.
| server: | server | 
| conn: | new connection (or NULL if error) | 
| user_data: | user data specified in gnet_server_new() | 
GServer* gnet_server_new (const GInetAddr *iface, gint port, GServerFunc func, gpointer user_data);
Creates a new GServer object representing a server.  Usually,
 iface is set to NULL to bind to all interfaces and port is a
 specific number.  The callback is called whenever a new connection
 arrives or if there is a server error.  The callback is not called
 again after a server error.
| iface: | interface to bind to (NULL for all interfaces) | 
| port: | port to bind to (0 for an arbitrary port) | 
| func: | callback to call when a connection is accepted | 
| user_data: | data to pass to callback | 
| Returns : | a new GServer. | 
void gnet_server_delete (GServer *server);
Closes and deletes a GServer.
| server: | GServer to delete. | 
void gnet_server_ref (GServer *server);
Adds a reference to a GServer.
| server: | a GServer |