Public Methods |
virtual | ~Socket () |
| The socket base class may be "thrown" as a result of an error, and the "catcher" may then choose to destroy the object. More...
|
Socket& | operator= (const Socket &from) |
| Sockets may also be duplicated by the assignment operator.
|
InetHostAddress | getSender (tpport_t *port = NULL) const |
| May be used to examine the origin of data waiting in the socket receive queue. More...
|
InetHostAddress | getPeer (tpport_t *port = NULL) const |
| Get the host address and port of the socket this socket is connected to. More...
|
InetHostAddress | getLocal (tpport_t *port = NULL) const |
| Get the local address and port number this socket is currently bound to. More...
|
void | setCompletion (sockcomplete_t completion) |
| Used to specify blocking mode for the socket. More...
|
sockerror_t | setKeepAlive (bool enable) |
| Set the keep-alive status of this socket and if keep-alive messages will be sent. More...
|
sockerror_t | setTypeOfService (socktos_t service) |
| Set packet scheduling on platforms which support ip quality of service conventions. More...
|
bool | isConnected (void) const |
| Can test to see if this socket is "connected", and hence whether a "catch" can safely call getPeer(). More...
|
bool | isActive (void) const |
| Test to see if the socket is at least operating or if it is mearly initialized. More...
|
bool | operator! () const |
| Operator based testing to see if a socket is currently active.
|
bool | isBroadcast (void) const |
| Return if broadcast has been enabled for the specified socket. More...
|
bool | isRouted (void) const |
| Return if socket routing is enabled. More...
|
sockerror_t | getErrorNumber (void) const |
| Often used by a "catch" to fetch the last error of a thrown socket. More...
|
const char* | getErrorString (void) const |
| Often used by a "catch" to fetch the user set error string of a thrown socket, but only if EXTENDED error codes are used. More...
|
virtual bool | isPending (sockpend_t pend, timeout_t timeout = TIMEOUT_INF) |
| Get the status of pending operations. More...
|
Protected Methods |
sockerror_t | Error (sockerror_t error, char *errstr = NULL) const |
| This service is used to throw all socket errors which usually occur during the socket constructor. More...
|
void | Error (char *estr) |
| This service is used to throw application defined socket errors where the application specific error code is a string. More...
|
void | setError (bool enable) |
| This service is used to turn the error handler on or off for "throwing" exceptions by manipulating the thrown flag. More...
|
void | endSocket (void) |
| Used as the default destructor for ending a socket. More...
|
sockerror_t | connectError (void) |
| Used as a common handler for connection failure processing. More...
|
sockerror_t | setBroadcast (bool enable) |
| Set the subnet broadcast flag for the socket. More...
|
sockerror_t | setMulticast (bool enable) |
| Setting multicast binds the multicast interface used for the socket to the interface the socket itself has been implicitly bound to. More...
|
sockerror_t | setLoopback (bool enable) |
| Set the multicast loopback flag for the socket. More...
|
sockerror_t | setTimeToLive (unsigned char ttl) |
| Set the multicast time to live for a multicast socket. More...
|
sockerror_t | Join (InetAddress &ia) |
| Join a multicast group. More...
|
sockerror_t | Drop (InetAddress &ia) |
| Drop membership from a multicast group. More...
|
sockerror_t | setRouting (bool enable) |
| Set the socket routing to indicate if outgoing messages should bypass normal routing (set false). More...
|
| Socket (int domain, int type, int protocol = 0) |
| An unconnected socket may be created directly on the local machine. More...
|
| Socket (SOCKET fd) |
| A socket object may be created from a file descriptor when that descriptor was created either through a socket() or accept() call. More...
|
| Socket (const Socket &source) |
| A socket can also be constructed from an already existing Socket object. More...
|
ssize_t | Readline (char *buf, size_t len) |
| Process a logical input line from a socket descriptor directly. More...
|
Protected Attributes |
SOCKET | so |
| the actual socket descriptor, in Windows, unlike posix it *cannot* be used as an file descriptor that way madness lies -- jfc.
|
sockstate_t | state |
A socket is a system resource (or winsock descriptor) that occupies a specific port address (and may be bound to a specific network interface) on the local machine. The socket may also be directly connected to a specific socket on a remote internet host.
This base class is not directly used, but is provided to offer properties common to other Common C++ socket classes, including the socket exception model and the ability to set socket properties such as QoS, "sockopts" properties like Dont-Route and Keep-Alive, etc.