Module: Essential Networking Module Package: Networking
RWSocketListenerRWSocketPortalBase
#include <rw/network/RWSocketListener.h>
Waits on a specified socket address for incoming connections. Connections are obtained as RWSocketPortals.
enum WhoShouldClose { Portal, Application };
Indicates who should close the socket.
RWSocketListener();
Creates an uninitialized socket listener. Self needs to be initialized using listen() before it can be used.
RWSocketListener(const RWSockAddrBase& address,
int backlog=5);
Sets up a listener on the address indicated, and sets up a queue to wait for connections. The backlog parameter specifies the number of incoming connection requests that the protocol software enqueues while a connection is being processed.
RWSocketListener(const RWSocket& socket, WhoShouldClose who=Portal);
Creates a listening portal to the communications channel, where socket is the socket doing the listening. Using this constructor is the only way to create a socket that is not closed automatically when portals are no longer using it.
~RWSocketListener();
Destructor.
RWSocketPortal accept(RWSockAddr* addr=0) const;
Receives the next waiting connection. The address of the connecting client will be stored in the RWSockAddr referenced by addr.
RWSocketPortal operator()(RWSockAddr* addr=0) const;
Receives the next waiting connection. The address of the connecting client will be stored in the RWSockAddr referenced by addr.
RWSocket getSocket() const;
Obtains a reference to the underlying socket.
void listen(const RWSockAddrBase& address, int backlog=5);
Binds the listener to the address indicated, and sets up a queue to wait for connections. The backlog parameter specifies the number of incoming connection requests that the protocol software enqueues while a connection is being processed.
© Copyright Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.