logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

FBB::SocketBase - Base class for socket-constructing classes

Author

       Frank B. Brokken (f.b.brokken@rug.nl).

libbobcat-dev_6.07.01                               2005-2025                           FBB::SocketBase(3bobcat)

Bobcat

       Bobcat is an acronym of `Brokken’s Own Base Classes And Templates’.

Bobcat Project Files

       o      https://fbb-git.gitlab.io/bobcat/: gitlab project page;

       Debian Bobcat project files:

       o      libbobcat6: debian package containing the shared library, changelog and copyright note;

       o      libbobcat-dev: debian package containing the static library, headers, manual pages, and  developer
              info;

Bugs

       None Reported.

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.

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

Inherits From

FBB::InetAddress

Member Functions

       All members of FBB::InetAddress are available, as FBB::SocketBase inherits from this class.

       o      booldebug()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;

       o      boolreuse()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;

       o      voidsetDebug(booltrueIsOn)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;

       o      voidsetReuse(booltrueIsOn)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;

       o      intsocket()const:
              This accessor returns the FBB::SocketBase’s socket value.

Name

       FBB::SocketBase - Base class for socket-constructing classes

Namespace

FBB
       All constructors, members, operators and manipulators, mentioned in this man-page,  are  defined  in  the
       namespace FBB.

Protected Constructors

       o      SocketBase(size_tport):
              This constructor creates a SocketBase to be used with ServerSocket-objects, listening on port.

       o      SocketBase(std::stringconst&host,uint16_tport):
              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

       o      SocketBasemakeBase(intsocket,sockaddr_inconst&address):
              This member returns  a FBB::SocketBase object initializing its socket  and  FBB::InetAddress  from
              the provided arguments.

See Also

bobcat(7), clientsocket(3bobcat), inetaddress(3bobcat), localsocketbase(3bobcat), serversocket(3bobcat)

Synopsis

#include<bobcat/socketbase>
       Linking option: -lbobcat

See Also