+\twocolwidtha{7cm}
+\begin{twocollist}\itemsep=0pt
+\twocolitem{{\bf wxSOCKET\_NONE}}{Normal functionality.}
+\twocolitem{{\bf wxSOCKET\_NOWAIT}}{Read/write as much data as possible and return immediately.}
+\twocolitem{{\bf wxSOCKET\_WAITALL}}{Wait for all required data to be read/written unless an error occurs.}
+\twocolitem{{\bf wxSOCKET\_BLOCK}}{Block the GUI (do not yield) while reading/writing data.}
+\twocolitem{{\bf wxSOCKET\_REUSEADDR}}{Allows the use of an in-use port (wxServerSocket only)}
+\end{twocollist}
+
+A brief overview on how to use these flags follows.
+
+If no flag is specified (this is the same as {\bf wxSOCKET\_NONE}),
+IO calls will return after some data has been read or written, even
+when the transfer might not be complete. This is the same as issuing
+exactly one blocking low-level call to recv() or send(). Note
+that {\it blocking} here refers to when the function returns, not
+to whether the GUI blocks during this time.
+
+If {\bf wxSOCKET\_NOWAIT} is specified, IO calls will return immediately.
+Read operations will retrieve only available data. Write operations will
+write as much data as possible, depending on how much space is available
+in the output buffer. This is the same as issuing exactly one nonblocking
+low-level call to recv() or send(). Note that {\it nonblocking} here
+refers to when the function returns, not to whether the GUI blocks during
+this time.
+
+If {\bf wxSOCKET\_WAITALL} is specified, IO calls won't return until ALL
+the data has been read or written (or until an error occurs), blocking if
+necessary, and issuing several low level calls if necessary. This is the
+same as having a loop which makes as many blocking low-level calls to
+recv() or send() as needed so as to transfer all the data. Note
+that {\it blocking} here refers to when the function returns, not
+to whether the GUI blocks during this time.
+
+The {\bf wxSOCKET\_BLOCK} flag controls whether the GUI blocks during
+IO operations. If this flag is specified, the socket will not yield
+during IO calls, so the GUI will remain blocked until the operation
+completes. If it is not used, then the application must take extra
+care to avoid unwanted reentrance.
+
+The {\bf wxSOCKET\_REUSEADDR} flag controls the use of the SO\_REUSEADDR standard
+setsockopt() flag. This flag allows the socket to bind to a port that is already in use.
+This is mostly used on UNIX-based systems to allow rapid starting and stopping of a server -
+otherwise you may have to wait several minutes for the port to become available.
+This option can have surprising platform dependent behavior, check the documentation for
+your platform's implementation of setsockopt().
+
+So:
+
+{\bf wxSOCKET\_NONE} will try to read at least SOME data, no matter how much.
+
+{\bf wxSOCKET\_NOWAIT} will always return immediately, even if it cannot
+read or write ANY data.
+
+{\bf wxSOCKET\_WAITALL} will only return when it has read or written ALL
+the data.
+
+{\bf wxSOCKET\_BLOCK} has nothing to do with the previous flags and
+it controls whether the GUI blocks.
+
+{\bf wxSOCKET\_REUSEADDR} controls special platform-specific behavior for wxServerSocket.
+
+%
+% SetNotify
+%
+\membersection{wxSocketBase::SetNotify}\label{wxsocketbasesetnotify}
+
+\func{void}{SetNotify}{\param{wxSocketEventFlags}{ flags}}
+
+SetNotify specifies which socket events are to be sent to the event handler.
+The {\it flags} parameter may be combination of flags ORed together. The
+following flags can be used:
+
+\twocolwidtha{7cm}
+\begin{twocollist}\itemsep=0pt
+\twocolitem{{\bf wxSOCKET\_INPUT\_FLAG}}{to receive wxSOCKET\_INPUT}
+\twocolitem{{\bf wxSOCKET\_OUTPUT\_FLAG}}{to receive wxSOCKET\_OUTPUT}
+\twocolitem{{\bf wxSOCKET\_CONNECTION\_FLAG}}{to receive wxSOCKET\_CONNECTION}
+\twocolitem{{\bf wxSOCKET\_LOST\_FLAG}}{to receive wxSOCKET\_LOST}
+\end{twocollist}
+
+For example:
+
+\begin{verbatim}
+ sock.SetNotify(wxSOCKET_INPUT_FLAG | wxSOCKET_LOST_FLAG);
+ sock.Notify(true);
+\end{verbatim}
+
+In this example, the user will be notified about incoming socket data and
+whenever the connection is closed.
+
+For more information on socket events see \helpref{wxSocket events}{wxsocketbase}.
+
+%
+% SetTimeout
+%
+\membersection{wxSocketBase::SetTimeout}\label{wxsocketbasesettimeout}
+
+\func{void}{SetTimeout}{\param{int }{seconds}}
+
+This function sets the default socket timeout in seconds. This timeout
+applies to all IO calls, and also to the \helpref{Wait}{wxsocketbasewait} family
+of functions if you don't specify a wait interval. Initially, the default
+timeout is 10 minutes.
+
+%
+% Peek
+%
+\membersection{wxSocketBase::Peek}\label{wxsocketbasepeek}
+
+\func{wxSocketBase\&}{Peek}{\param{void *}{ buffer}, \param{wxUint32}{ nbytes}}
+
+This function peeks a buffer of {\it nbytes} bytes from the socket.
+Peeking a buffer doesn't delete it from the socket input queue.
+
+Use \helpref{LastCount}{wxsocketbaselastcount} to verify the number of bytes actually peeked.