Updated some bits in socket docs.

Documented socket samples
Moved wxInitAllImageHandlers from 'file functions' (?) to 'misc functions'


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5643 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Guillermo Rodriguez Garcia 2000-01-24 20:46:54 +00:00
parent 3c1a88d8b8
commit e5a2291ac7
5 changed files with 76 additions and 22 deletions

View File

@ -140,19 +140,6 @@ See \helpref{wxFindFirstFile}{wxfindfirstfile} for an example.
Returns the Windows directory under Windows; on other platforms returns the empty string.
\membersection{::wxInitAllImageHandlers}\label{wxinitallimagehandlers}
\func{void}{wxInitAllImageHandlers}{\void}
Adds some common image format handlers, which, depending on wxWindows
configuration, can be handlers for BMP (loading) (always installed), GIF
(loading), PCX (loading and saving), PNM (loading and saving as raw rgb),
PNG (loading and saving), JPEG (loading and saving), file formats.
\wxheading{See also}
\helpref{wxImage}{wximage}, \helpref{wxImageHandler}{wximagehandler}
\membersection{::wxIsAbsolutePath}
\func{bool}{wxIsAbsolutePath}{\param{const wxString\& }{filename}}
@ -1549,6 +1536,17 @@ It does not raise a signal in the receiving process.
<wx/utils.h>
\membersection{::wxInitAllImageHandlers}\label{wxinitallimagehandlers}
\func{void}{wxInitAllImageHandlers}{\void}
Initializes all available image handlers. For a list of available handlers,
see \helpref{wxImage}{wximage}.
\wxheading{See also}
\helpref{wxImage}{wximage}, \helpref{wxImageHandler}{wximagehandler}
\membersection{::wxIsBusy}\label{wxisbusy}
\func{bool}{wxIsBusy}{\void}

View File

@ -14,7 +14,6 @@
% ----------------------------------------------------------------------------
% MEMBERS
% ----------------------------------------------------------------------------
\latexignore{\rtfignore{\wxheading{Members}}}
%
@ -110,7 +109,7 @@ Returns TRUE on success, FALSE if something went wrong.
\func{bool}{LocalHost}{\void}
Set address to "localhost" (127.0.0.1). Whenever possible, use the
Set address to localhost (127.0.0.1). Whenever possible, use the
\helpref{wxIPV4address::AnyAddress}{wxipv4addressanyaddress},
function instead of this one, as this will correctly handle multi-homed
hosts and avoid other small problems.
@ -118,4 +117,3 @@ hosts and avoid other small problems.
\wxheading{Return value}
Returns TRUE on success, FALSE if something went wrong.

View File

@ -17,19 +17,15 @@ You are unlikely to need to use this class: only wxSocketBase uses it.
\helpref{wxSocketBase}{wxsocketbase}
\helpref{wxIPV4address}{wxipv4address}
%\helpref{wxIPV6address}{wxipv6address}\\
%\helpref{wxunixaddress}{wxunixaddress}
% ----------------------------------------------------------------------------
% Members
% ----------------------------------------------------------------------------
\latexignore{\rtfignore{\wxheading{Members}}}
%
% ctor/dtor
%
\membersection{wxSockAddress::wxSockAddress}
\func{}{wxSockAddress}{\void}
@ -46,6 +42,7 @@ Default destructor.
% Clear
%
\membersection{wxSockAddress::Clear}
\func{void}{Clear}{\void}
Delete all informations about the address.
@ -55,7 +52,6 @@ Delete all informations about the address.
%
\membersection{wxSockAddress::SockAddrLen}
\func{int}{SockAddrLen}{\void};
\func{int}{SockAddrLen}{\void}
Returns the length of the socket address.

View File

@ -906,6 +906,13 @@ functions that take a wxSocketEvent argument.
Constructor.
\membersection{wxSocketEvent::Socket}\label{wxsocketeventsocket}
\constfunc{wxSocketBase *}{Socket}{\void}
Returns the socket object to which this event refers to. This makes
it possible to use the same event handler for different sockets.
\membersection{wxSocketEvent::SocketEvent}\label{wxsocketeventsocketevent}
\constfunc{wxSocketNotify}{SocketEvent}{\void}

View File

@ -239,6 +239,61 @@ specifying the foreground and background colours with
bitmap is then converted to a wxImage and the foreground colour (black) is
replaced with red using \helpref{wxImage::Replace}{wximagereplace}.
\subsection{Sockets sample}\label{samplesockets}
The sockets sample demonstrates how to use the communication facilities
provided by \helpref{wxSocket}{wxsocketbase}. There are two different
applications in this sample: a server, which is implemented as a
\helpref{wxSocketServer}{wxsocketserver} object, and a client, which is
implemented with \helpref{wxSocketClient}{wxsocketclient}.
The server binds to the local address, using TCP port number 3000, sets
up an event handler to be notified of incoming connection requests
({\bf wxSOCKET\_CONNECTION} event), and stands there, waiting (listening
in the socket parlance) for clients. For each incoming client, a new
\helpref{wxSocketBase}{wxsocketbase} object is created, which represents
the connection. Connections are independent from the server that created
them, so they set up their own event handler, and stay awaiting for
{\bf wxSOCKET\_INPUT} (incoming data) or {\bf wxSOCKET\_LOST} (connection
closed at the remote end) events. This event handler is the same for all
connections, and demonstrates how to determine which socket the event
is addressed to by using the \helpref{Socket}{wxsocketeventsocket} function
in the \helpref{wxSocketEvent}{wxsocketevent} class.
Although it might take some time to get used to the event-oriented
system upon which wxSocket is built, the benefits are many. See, for
example, that the server application, while being single-threaded
(and of course without using fork() or ugly select() loops) can handle
an arbitrary number of connections.
The client starts up unconnected, so you can use the Connect... option
to specify the address of the server you are going to connect to (the
TCP port number is hard-coded as 3000). Once connected, a number of
tests are possible. Currently, three tests are implemented. They show
how to use the basic IO calls in \helpref{wxSocketBase}{wxsocketbase},
such as \helpref{Read}{wxsocketbaseread}, \helpref{Write}{wxsocketbasewrite},
\helpref{ReadMsg}{wxsocketbasereadmsg} and \helpref{WriteMsg}{wxsocketbasewritemsg},
and how to set up the correct IO flags depending on what you are going to
do. See the comments in the code for more information (a lengthy explanation
on socket flags is available in \helpref{SetFlags}{wxsocketbasesetflags}).
Note that because both clients and connection objects in the server set
up an event handler to catch {\bf wxSOCKET\_LOST} events, each one is
immediately notified if the other end closes the connection.
The sockets sample is work in progress. Coming soon:
\begin{itemize}
\item More tests for basic socket functionality.
\item Tests for the recently added datagram socket classes.
\item Tests for protocol classes (wxProtocol and its descendants).
\item New samples which actually do something useful (suggestions accepted).
\end{itemize}
\subsection{Text sample}\label{sampletext}
This sample demonstrates four features: firstly the use and many variants of