Library: NetSSL_OpenSSL
Package: SSLSockets
Header: Poco/Net/SecureServerSocketImpl.h
Description
The SocketImpl class for SecureServerSocket.
Inheritance
Direct Base Classes: ServerSocketImpl
All Base Classes: ServerSocketImpl, SocketImpl, Poco::RefCountedObject
Member Summary
Member Functions: acceptConnection, bind, bind6, close, connect, connectNB, context, listen, receiveBytes, receiveFrom, secure, sendBytes, sendTo, sendUrgent
Inherited Functions: acceptConnection, address, available, bind, bind6, checkBrokenTimeout, close, connect, connectNB, duplicate, error, fcntl, getBlocking, getBroadcast, getError, getKeepAlive, getLinger, getNoDelay, getOOBInline, getOption, getRawOption, getReceiveBufferSize, getReceiveTimeout, getReuseAddress, getReusePort, getSendBufferSize, getSendTimeout, init, initSocket, initialized, ioctl, lastError, listen, peerAddress, poll, receiveBytes, receiveFrom, referenceCount, release, reset, secure, sendBytes, sendFile, sendTo, sendUrgent, setBlocking, setBroadcast, setKeepAlive, setLinger, setNoDelay, setOOBInline, setOption, setRawOption, setReceiveBufferSize, setReceiveTimeout, setReuseAddress, setReusePort, setSendBufferSize, setSendTimeout, shutdown, shutdownReceive, shutdownSend, socketError, sockfd, type, useFileDescriptor
Constructors
SecureServerSocketImpl
SecureServerSocketImpl(
Context::Ptr pContext
);
Creates the SecureServerSocketImpl using the given SSL context object.
Destructor
~SecureServerSocketImpl
Destroys the SecureServerSocketImpl.
Member Functions
acceptConnection
SocketImpl * acceptConnection(
SocketAddress & clientAddr
);
Get the next completed connection from the socket's completed connection queue.
If the queue is empty, waits until a connection request completes.
Returns a new TCP socket for the connection with the client.
The client socket's address is returned in clientAddr.
bind
void bind(
const SocketAddress & address,
bool reuseAddress = false
);
Bind a local address to the socket.
This is usually only done when establishing a server socket. TCP clients should not bind a socket to a specific address.
If reuseAddress is true, sets the SO_REUSEADDR socket option.
See also: Poco::Net::SocketImpl::bind()
bind
void bind(
const SocketAddress & address,
bool reuseAddress,
bool reusePort
);
Bind a local address to the socket.
This is usually only done when establishing a server socket. TCP clients should not bind a socket to a specific address.
If reuseAddress is true, sets the SO_REUSEADDR socket option.
If reusePort is true, sets the SO_REUSEPORT socket option.
See also: Poco::Net::SocketImpl::bind()
bind6
void bind6(
const SocketAddress & address,
bool reuseAddress = false,
bool ipV6Only = false
);
Bind a local IPv6 address to the socket.
This is usually only done when establishing a server socket. TCP clients should not bind a socket to a specific address.
If reuseAddress is true, sets the SO_REUSEADDR socket option.
The given address must be an IPv6 address. The IPPROTO_IPV6/IPV6_V6ONLY option is set on the socket according to the ipV6Only parameter.
If the library has not been built with IPv6 support, a Poco::NotImplementedException will be thrown.
See also: Poco::Net::SocketImpl::bind6()
bind6
void bind6(
const SocketAddress & address,
bool reuseAddress,
bool reusePort,
bool ipV6Only
);
Bind a local IPv6 address to the socket.
This is usually only done when establishing a server socket. TCP clients should not bind a socket to a specific address.
If reuseAddress is true, sets the SO_REUSEADDR socket option.
If reusePort is true, sets the SO_REUSEPORT socket option.
The given address must be an IPv6 address. The IPPROTO_IPV6/IPV6_V6ONLY option is set on the socket according to the ipV6Only parameter.
If the library has not been built with IPv6 support, a Poco::NotImplementedException will be thrown.
See also: Poco::Net::SocketImpl::bind6()
close
void close();
Close the socket.
See also: Poco::Net::SocketImpl::close()
connect
void connect(
const SocketAddress & address
);
Not supported by this kind of socket.
Throws a Poco::InvalidAccessException.
See also: Poco::Net::SocketImpl::connect()
connect
void connect(
const SocketAddress & address,
const Poco::Timespan & timeout
);
Not supported by this kind of socket.
Throws a Poco::InvalidAccessException.
See also: Poco::Net::SocketImpl::connect()
connectNB
void connectNB(
const SocketAddress & address
);
Not supported by this kind of socket.
Throws a Poco::InvalidAccessException.
See also: Poco::Net::SocketImpl::connectNB()
context
Context::Ptr context() const;
Returns the SSL context used by this socket.
listen
void listen(
int backlog = 64
);
Puts the socket into listening state.
The socket becomes a passive socket that can accept incoming connection requests.
The backlog argument specifies the maximum number of connections that can be queued for this socket.
See also: Poco::Net::SocketImpl::listen()
receiveBytes
int receiveBytes(
void * buffer,
int length,
int flags = 0
);
Not supported by this kind of socket.
Throws a Poco::InvalidAccessException.
See also: Poco::Net::SocketImpl::receiveBytes()
receiveFrom
int receiveFrom(
void * buffer,
int length,
SocketAddress & address,
int flags = 0
);
Not supported by this kind of socket.
Throws a Poco::InvalidAccessException.
See also: Poco::Net::SocketImpl::receiveFrom()
secure
bool secure() const;
Returns true iff the socket's connection is secure (using SSL or TLS).
See also: Poco::Net::SocketImpl::secure()
sendBytes
int sendBytes(
const void * buffer,
int length,
int flags = 0
);
Not supported by this kind of socket.
Throws a Poco::InvalidAccessException.
See also: Poco::Net::SocketImpl::sendBytes()
sendTo
int sendTo(
const void * buffer,
int length,
const SocketAddress & address,
int flags = 0
);
Not supported by this kind of socket.
Throws a Poco::InvalidAccessException.
See also: Poco::Net::SocketImpl::sendTo()
sendUrgent
void sendUrgent(
unsigned char data
);
Not supported by this kind of socket.
Throws a Poco::InvalidAccessException.
See also: Poco::Net::SocketImpl::sendUrgent()