Ocean
Ocean::Network::UDPServer Class Reference

This class implements a UDP server. More...

Inheritance diagram for Ocean::Network::UDPServer:

Public Member Functions

 UDPServer ()
 Creates a new UDP server object. More...
 
 ~UDPServer () override
 Destructs a UDP server object. More...
 
bool start () override
 Starts the server. More...
 
- Public Member Functions inherited from Ocean::Network::ConnectionlessServer
 ~ConnectionlessServer () override
 Destructs a connectionless server object. More...
 
void setReceiveCallback (const ReceiveCallback &callback)
 Sets the receive data callback function. More...
 
- Public Member Functions inherited from Ocean::Network::ConnectionlessClient
SocketResult send (const Address4 &address, const Port &port, const void *data, const size_t size)
 Sends data to a specified recipient. More...
 
SocketResult send (const Address4 &address, const Port &port, const std::string &message)
 Sends a message to a specified recipient. More...
 
- Public Member Functions inherited from Ocean::Network::Socket
virtual ~Socket ()
 Destructs a socket object. More...
 
SocketId id () const
 Returns the socket id. More...
 
Address4 address () const
 Returns the own address of this socket. More...
 
Port port () const
 Returns the own port of this socket. More...
 
virtual bool setAddress (const Address4 &address)
 Sets the own address of this socket. More...
 
virtual bool setPort (const Port &port)
 Sets the own port of this socket. More...
 
 operator bool () const
 Returns whether this socket is valid. More...
 
- Public Member Functions inherited from Ocean::Network::Server
 ~Server () override
 Destructs a server object. More...
 
virtual bool stop ()
 Stops the server. More...
 

Protected Member Functions

bool buildSocket (const Address4 &localAddress=Address4(), const Port localPort=Port())
 Creates a UDP server socket. More...
 
- Protected Member Functions inherited from Ocean::Network::ConnectionlessServer
 ConnectionlessServer ()
 Creates a new connectionless server object. More...
 
bool onScheduler () override
 The scheduler event function. More...
 
- Protected Member Functions inherited from Ocean::Network::ConnectionlessClient
 ConnectionlessClient ()
 Creates a new connectionless client object. More...
 
- Protected Member Functions inherited from Ocean::Network::Client
 Client ()
 Creates a new client. More...
 
 ~Client () override
 Destructs a client. More...
 
- Protected Member Functions inherited from Ocean::Network::Socket
 Socket ()
 Creates a new socket object. More...
 
 Socket (const Socket &object)=delete
 Disabled copy constructor. More...
 
bool setBlockingMode (const bool blocking)
 Sets the blocking mode of this socket. More...
 
size_t maximalMessageSize (const size_t defaultSize=65536)
 Returns the maximal message size in bytes. More...
 
bool releaseSocket ()
 Releases the socket. More...
 
Socketoperator= (const Socket &object)=delete
 Disabled copy operator. More...
 
- Protected Member Functions inherited from Ocean::Network::Server
 Server ()
 Creates a new server object. More...
 

Additional Inherited Members

- Public Types inherited from Ocean::Network::ConnectionlessServer
typedef Callback< void, const Address4 &, const Port &, const void *, const size_t > ReceiveCallback
 Definition of a data callback function. More...
 
- Public Types inherited from Ocean::Network::Socket
enum  SocketResult { SR_SUCCEEDED = 0 , SR_FAILED , SR_BUSY , SR_NOT_CONNECTED }
 Definition of individual result values. More...
 
typedef SOCKET SocketId
 Definition of a socket id. More...
 
typedef int SocketId
 Definition of a socket id. More...
 
typedef std::vector< uint8_t > Buffer
 Definition of a vector holding 8 bit values. More...
 
- Static Public Member Functions inherited from Ocean::Network::Socket
static constexpr SocketId invalidSocketId ()
 Returns an invalid socket id. More...
 
static bool setBlockingMode (const SocketId socketId, const bool blocking)
 Sets the blocking mode of a socket. More...
 
- Protected Attributes inherited from Ocean::Network::ConnectionlessServer
ReceiveCallback receiveCallback_
 Data callback function called on new message arrivals. More...
 
- Protected Attributes inherited from Ocean::Network::Client
Buffer socketBuffer_
 The socket buffer of this client. More...
 
- Protected Attributes inherited from Ocean::Network::Socket
SocketId socketId_ = invalidSocketId()
 Socket id. More...
 
Lock lock_
 Socket lock. More...
 
NetworkResource networkResource_
 The network resource object. More...
 
- Protected Attributes inherited from Ocean::Network::Server
Buffer buffer_
 The socket buffer of this server. More...
 
bool schedulerIsActive_ = false
 True, if the server scheduler is active. More...
 

Detailed Description

This class implements a UDP server.

Constructor & Destructor Documentation

◆ UDPServer()

Ocean::Network::UDPServer::UDPServer ( )

Creates a new UDP server object.

◆ ~UDPServer()

Ocean::Network::UDPServer::~UDPServer ( )
override

Destructs a UDP server object.

Member Function Documentation

◆ buildSocket()

bool Ocean::Network::UDPServer::buildSocket ( const Address4 localAddress = Address4(),
const Port  localPort = Port() 
)
protected

Creates a UDP server socket.

Parameters
localAddressThe local address to which the socket will be bound, a default address to bound the socket to any local address
localPortThe local port to which the socket will be bound, a default port to bound the socket to any free port
Returns
True, if succeeded

◆ start()

bool Ocean::Network::UDPServer::start ( )
overridevirtual

Starts the server.

See also
Server::start().

Reimplemented from Ocean::Network::Server.


The documentation for this class was generated from the following file: