1%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2%% Name: socket.tex 3%% Purpose: wxSocket docs 4%% Author: Guillermo Rodriguez Garcia <guille@iies.es> 5%% Modified by: 6%% Created: 14.01.02 (extracted from socket.tex) 7%% RCS-ID: $Id: socksrv.tex 41751 2006-10-08 21:56:55Z VZ $ 8%% Copyright: (c) wxWidgets team 9%% License: wxWindows license 10%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 11 12% --------------------------------------------------------------------------- 13% CLASS: wxSocketServer 14% --------------------------------------------------------------------------- 15\section{\class{wxSocketServer}}\label{wxsocketserver} 16 17\wxheading{Derived from} 18 19\helpref{wxSocketBase}{wxsocketbase} 20 21\wxheading{Include files} 22 23<wx/socket.h> 24 25% --------------------------------------------------------------------------- 26% Members 27% --------------------------------------------------------------------------- 28\latexignore{\rtfignore{\wxheading{Members}}} 29 30% 31% wxSocketServer 32% 33\membersection{wxSocketServer::wxSocketServer}\label{wxsocketserverctor} 34 35\func{}{wxSocketServer}{\param{const wxSockAddress\&}{ address}, \param{wxSocketFlags}{ flags = wxSOCKET\_NONE}} 36 37Constructs a new server and tries to bind to the specified {\it address}. 38Before trying to accept new connections, test whether it succeeded with 39\helpref{wxSocketBase:IsOk}{wxsocketbaseisok}. 40 41\wxheading{Parameters} 42 43\docparam{address}{Specifies the local address for the server (e.g. port number).} 44 45\docparam{flags}{Socket flags (See \helpref{wxSocketBase::SetFlags}{wxsocketbasesetflags})} 46 47% 48% ~wxSocketServer 49% 50\membersection{wxSocketServer::\destruct{wxSocketServer}}\label{wxsocketserverdtor} 51 52\func{}{\destruct{wxSocketServer}}{\void} 53 54Destructor (it doesn't close the accepted connections). 55 56% 57% Accept 58% 59\membersection{wxSocketServer::Accept}\label{wxsocketserveraccept} 60 61\func{wxSocketBase *}{Accept}{\param{bool}{ wait = true}} 62 63Accepts an incoming connection request, and creates a new 64\helpref{wxSocketBase}{wxsocketbase} object which represents 65the server-side of the connection. 66 67If {\it wait} is true and there are no pending connections to be 68accepted, it will wait for the next incoming connection to 69arrive. {\bf Warning:} This will block the GUI. 70 71If {\it wait} is false, it will try to accept a pending connection 72if there is one, but it will always return immediately without blocking 73the GUI. If you want to use Accept in this way, you can either check for 74incoming connections with \helpref{WaitForAccept}{wxsocketserverwaitforaccept} 75or catch {\bf wxSOCKET\_CONNECTION} events, then call Accept once you know 76that there is an incoming connection waiting to be accepted. 77 78\wxheading{Return value} 79 80Returns an opened socket connection, or NULL if an error occurred or 81if the {\it wait} parameter was false and there were no pending 82connections. 83 84\wxheading{See also} 85 86\helpref{wxSocketServer::WaitForAccept}{wxsocketserverwaitforaccept}, 87\helpref{wxSocketBase::SetNotify}{wxsocketbasesetnotify}, 88\helpref{wxSocketBase::Notify}{wxsocketbasenotify}, 89\helpref{wxSocketServer::AcceptWith}{wxsocketserveracceptwith} 90 91% 92% AcceptWith 93% 94\membersection{wxSocketServer::AcceptWith}\label{wxsocketserveracceptwith} 95 96\func{bool}{AcceptWith}{\param{wxSocketBase\&}{ socket}, \param{bool}{ wait = true}} 97 98Accept an incoming connection using the specified socket object. 99 100\wxheading{Parameters} 101 102\docparam{socket}{Socket to be initialized} 103 104\wxheading{Return value} 105 106Returns true on success, or false if an error occurred or if the 107{\it wait} parameter was false and there were no pending 108connections. 109 110\helpref{wxSocketServer::WaitForAccept}{wxsocketserverwaitforaccept}, 111\helpref{wxSocketBase::SetNotify}{wxsocketbasesetnotify}, 112\helpref{wxSocketBase::Notify}{wxsocketbasenotify}, 113\helpref{wxSocketServer::Accept}{wxsocketserveraccept} 114 115% 116% WaitForAccept 117% 118\membersection{wxSocketServer::WaitForAccept}\label{wxsocketserverwaitforaccept} 119 120\func{bool}{WaitForAccept}{\param{long}{ seconds = -1}, \param{long}{ millisecond = 0}} 121 122This function waits for an incoming connection. Use it if you want to call 123\helpref{Accept}{wxsocketserveraccept} or \helpref{AcceptWith}{wxsocketserveracceptwith} 124with {\it wait} set to false, to detect when an incoming connection is waiting 125to be accepted. 126 127\wxheading{Parameters} 128 129\docparam{seconds}{Number of seconds to wait. 130If -1, it will wait for the default timeout, 131as set with \helpref{SetTimeout}{wxsocketbasesettimeout}.} 132 133\docparam{millisecond}{Number of milliseconds to wait.} 134 135\wxheading{Return value} 136 137Returns true if an incoming connection arrived, false if the timeout elapsed. 138 139\wxheading{See also} 140 141\helpref{wxSocketServer::Accept}{wxsocketserveraccept}, 142\helpref{wxSocketServer::AcceptWith}{wxsocketserveracceptwith}, 143\helpref{wxSocketBase::InterruptWait}{wxsocketbaseinterruptwait} 144 145 146