FBB::SocketBase(3bobcat)
Base class for sockets
(libbobcat-dev_6.06.02)
2005-2024
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
    
    -  SocketBase(size_t port):
 This constructor creates a SocketBase to be used with
        ServerSocket-objects, listening on port.
 
-  SocketBase(std::string const &host, uint16_t port):
 This constructor creates a FBB::SocketBase to be used with a
        ClientSocket-object, connecting to hostname, at port
        `port'.
These constructors throw a std::exception if they could not properly
    complete.
The copy constructor and copy assignment operator are available. Both offer
    protected access rights.
PROTECTED MEMBER
    
    -  SocketBase makeBase(int socket, sockaddr_in const &address):
 This member returns  a FBB::SocketBase object initializing
        its socket and FBB::InetAddress from the provided arguments.
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::Exception
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::Exception
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::Exception 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::Exception exception
if the socket's reuse option could not be modified;
 
-  int socket() const:
 This accessor returns the FBB::SocketBase's socket value.
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>
#include <bobcat/exception>
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.
BOBCAT PROJECT FILES
    -  https://fbb-git.gitlab.io/bobcat/: gitlab project page;
    
-  bobcat_6.06.02-x.dsc: detached signature;
    
-  bobcat_6.06.02-x.tar.gz: source archive;
    
-  bobcat_6.06.02-x_i386.changes: change log;
    
-  libbobcat1_6.06.02-x_*.deb: debian package containing the
            libraries;
    
-  libbobcat1-dev_6.06.02-x_*.deb: debian package containing the
            libraries, headers and manual pages;
    
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).