This class is a base class for the FBB::ServerSocket and
FBB::ClientSocket classes. Since it is designed as a base class, all its
constructors are protected.
NAMESPACE
FBB
All constructors, members, operators and manipulators, mentioned in this
man-page, are defined in the namespace FBB.
INHERITS FROM
FBB::InetAddress
PROTECTED CONSTRUCTORS
SocketBase(size_t port):
This constructor creates a SocketBase to be used with
ServerSocket-objects, listening on port. The proper completion of
this constructor should be checked by calling the SocketBase::verify()
member (see below).
SocketBase(std::string const &host, unit_16_t port):
This constructor creates a FBB::SocketBase to be used with a
ClientSocket-object, connecting to hostname, at port `port'. The
proper completion of this constructor should be checked by calling the
SocketBase::verify() member (see below).
SocketBase(int socket, sockaddr_in const &address):
This constructor constructs a FBB::SocketBase object initializing
its socket and FBB::InetAddress part from available external objects.
The copy constructor is not available.
MEMBER FUNCTIONS
All members of FBB::InetAddress are
available, as FBB::SocketBase inherits from this class.
bool debug() const:
This accessor returns true if the socket's debug
(SO_DEBUG) socket option is active. It throws an FBB::Errno exception
if the status of the debug option could not be determined.
bool reuse() const:
This accessor returns true if the socket's reuse
(SO_REUSEADDR) socket option is active. It throws an FBB::Errno
exception if the status of the reuse option could not be determined.
void setDebug(bool trueIsOn) const:
This member may be used to modify the socket's debug
(SO_DEBUG) socket option. It throws an FBB::Errno exception
if the socket's debug option could not be modified.
void setReuse(bool trueIsOn) const:
This member may be used to modify the socket's reuse
(SO_REUSEADDR) socket option. It throws an FBB::Errno exception
if the socket's reuse option could not be modified.
int socket() const:
This accessor returns the FBB::SocketBase's socket value.
void verify() const:
This operator throws an Errno exception if the first or second
SocketBase constructor did not properly complete. It should be called
before using any other Glob member.
EXAMPLE
The classes FBB::ClientSocket and FBB::ServerSocket were derived
from SocketBase. E.g.,
#ifndef INCLUDED_BOBCAT_CLIENTSOCKET_
#define INCLUDED_BOBCAT_CLIENTSOCKET_
#include <bobcat/socketbase>
#include <string>
namespace FBB
{
class ClientSocket: public SocketBase
{
public:
// host may be address or name
ClientSocket(std::string const &host, uint16_t port);
int connect(); // returns fd (socket) to talk to the server
};
} // FBB
#endif
See the clientsocket(3bobcat) man-page for an example showing how to
use FBB::ClientSocket.