NAME¶
FBB::SocketBase - Base class for socket-constructing classes
SYNOPSIS¶
#include <bobcat/socketbase>
Linking option:
-lbobcat
DESCRIPTION¶
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¶
- o
- SocketBase(size_t port):
This constructor creates a SocketBase to be used with
ServerSocket-objects, listening on port.
- This constructor throws an Errno exception if it did
not properly complete.
- o
- 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’.
- This constructor throws an Errno exception if it did
not properly complete.
- o
- 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 (public) copy constructor is available.
MEMBER FUNCTIONS¶
All members of
FBB::InetAddress are available, as
FBB::SocketBase
inherits from this class.
- o
- 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.
- o
- 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.
- o
- 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.
- o
- 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.
- o
- int socket() const:
This accessor returns the FBB::SocketBase’s socket value.
- o
- void verify() const:
Obsoleted, will be removed in a future Bobcat release.
EXAMPLE¶
The classes
FBB::ClientSocket and
FBB::ServerSocket were derived
from
SocketBase. E.g.,
#ifndef INCLUDED_BOBCAT_CLIENTSOCKET_
#define INCLUDED_BOBCAT_CLIENTSOCKET_
#include <string>
#include <bobcat/socketbase>
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.
FILES¶
bobcat/socketbase - defines the class interface
SEE ALSO¶
bobcat(7),
clientsocket(3bobcat),
inetaddress(3bobcat),
localsocketbase(3bobcat),
serversocket(3bobcat)
BUGS¶
None Reported.
DISTRIBUTION FILES¶
- o
- bobcat_3.01.00-x.dsc: detached signature;
- o
- bobcat_3.01.00-x.tar.gz: source archive;
- o
- bobcat_3.01.00-x_i386.changes: change log;
- o
- libbobcat1_3.01.00-x_*.deb: debian package holding
the libraries;
- o
- libbobcat1-dev_3.01.00-x_*.deb: debian package
holding the libraries, headers and manual pages;
- o
- http://sourceforge.net/projects/bobcat: public
archive location;
BOBCAT¶
Bobcat is an acronym of `Brokken’s Own Base Classes And Templates’.
COPYRIGHT¶
This is free software, distributed under the terms of the GNU General Public
License (GPL).
AUTHOR¶
Frank B. Brokken (
f.b.brokken@rug.nl).