|
| acceptor () |
| Creates an unconnected acceptor.
|
|
| acceptor (socket_t handle) |
| Creates an acceptor from an existing OS socket handle and claims ownership of the handle. More...
|
|
| acceptor (const sock_address &addr, int queSize=DFLT_QUE_SIZE) |
| Creates an acceptor socket and starts it listening to the specified address. More...
|
|
| acceptor (acceptor &&acc) |
| Move constructor. More...
|
|
acceptor & | operator= (acceptor &&rhs) |
| Move assignment. More...
|
|
bool | listen (int queSize=DFLT_QUE_SIZE) |
| Sets the socket listening on the address to which it is bound. More...
|
|
bool | open (const sock_address &addr, int queSize=DFLT_QUE_SIZE, bool reuseSock=true) |
| Opens the acceptor socket, binds it to the specified address, and starts listening. More...
|
|
stream_socket | accept (sock_address *clientAddr=nullptr) |
| Accepts an incoming TCP connection and gets the address of the client. More...
|
|
| socket () |
| Creates an unconnected (invalid) socket.
|
|
| socket (socket_t h) |
| Creates a socket from an existing OS socket handle. More...
|
|
| socket (socket &&sock) noexcept |
| Move constructor. More...
|
|
virtual | ~socket () |
| Destructor closes the socket.
|
|
bool | is_open () const |
| Determines if the socket is open (valid). More...
|
|
bool | operator! () const |
| Determines if the socket is closed or in an error state. More...
|
|
| operator bool () const |
| Determines if the socket is open and in an error-free state. More...
|
|
socket_t | handle () const |
| Get the underlying OS socket handle. More...
|
|
virtual sa_family_t | family () const |
| Gets the network family of the address to which the socket is bound. More...
|
|
socket | clone () const |
| Creates a new socket that refers to this one. More...
|
|
void | clear (int val=0) |
| Clears the error flag for the object. More...
|
|
socket_t | release () |
| Releases ownership of the underlying socket object. More...
|
|
void | reset (socket_t h=INVALID_SOCKET) |
| Replaces the underlying managed socket object. More...
|
|
socket & | operator= (socket &&sock) noexcept |
| Move assignment. More...
|
|
bool | bind (const sock_address &addr) |
| Binds the socket to the specified address. More...
|
|
sock_address_any | address () const |
| Gets the local address to which the socket is bound. More...
|
|
sock_address_any | peer_address () const |
| Gets the address of the remote peer, if this socket is connected. More...
|
|
bool | get_option (int level, int optname, void *optval, socklen_t *optlen) const |
| Gets the value of a socket option. More...
|
|
template<typename T > |
bool | get_option (int level, int optname, T *val) const |
| Gets the value of a socket option. More...
|
|
bool | set_option (int level, int optname, const void *optval, socklen_t optlen) |
| Sets the value of a socket option. More...
|
|
template<typename T > |
bool | set_option (int level, int optname, const T &val) |
| Sets the value of a socket option. More...
|
|
bool | set_non_blocking (bool on=true) |
| Places the socket into or out of non-blocking mode. More...
|
|
int | last_error () const |
| Gets the code for the last errror. More...
|
|
std::string | last_error_str () const |
| Gets a string describing the last errror. More...
|
|
bool | shutdown (int how=SHUT_RDWR) |
| Shuts down all or part of the full-duplex connection. More...
|
|
bool | close () |
| Closes the socket. More...
|
|
|
static acceptor | create (int domain) |
| Creates an unbound acceptor socket with an open OS socket handle. More...
|
|
static void | initialize () |
| Initializes the socket (sockpp) library. More...
|
|
static void | destroy () |
| Shuts down the socket library. More...
|
|
static socket | create (int domain, int type, int protocol=0) |
| Creates a socket with the specified communications characterics. More...
|
|
static std::tuple< socket, socket > | pair (int domain, int type, int protocol=0) |
| Creates a pair of connected sockets. More...
|
|
static std::string | error_str (int errNum) |
| Gets a string describing the specified error. More...
|
|
Class for creating a streaming server.
Objects of this class bind and listen on streaming ports for incoming connections. Normally, a server thread creates one of these and blocks on the call to accept incoming connections. The call to accept creates and returns a stream_socket which can then be used for the actual communications.