Public Member Functions | Friends | List of all members
sf::SocketTCP Class Reference

SocketTCP wraps a socket using TCP protocol to send data safely (but a bit slower) More...

#include <SocketTCP.hpp>

Public Member Functions

 SocketTCP ()
 Default constructor. More...
 
void SetBlocking (bool Blocking)
 Change the blocking state of the socket. More...
 
Socket::Status Connect (unsigned short Port, const IPAddress &HostAddress, float Timeout=0.f)
 Connect to another computer on a specified port. More...
 
bool Listen (unsigned short Port)
 Listen to a specified port for incoming data or connections. More...
 
Socket::Status Accept (SocketTCP &Connected, IPAddress *Address=NULL)
 Wait for a connection (must be listening to a port). More...
 
Socket::Status Send (const char *Data, std::size_t Size)
 Send an array of bytes to the host (must be connected first) More...
 
Socket::Status Receive (char *Data, std::size_t MaxSize, std::size_t &SizeReceived)
 Receive an array of bytes from the host (must be connected first). More...
 
Socket::Status Send (Packet &PacketToSend)
 Send a packet of data to the host (must be connected first) More...
 
Socket::Status Receive (Packet &PacketToReceive)
 Receive a packet from the host (must be connected first). More...
 
bool Close ()
 Close the socket. More...
 
bool IsValid () const
 Check if the socket is in a valid state ; this function can be called any time to check if the socket is OK. More...
 
bool operator== (const SocketTCP &Other) const
 Comparison operator ==. More...
 
bool operator!= (const SocketTCP &Other) const
 Comparison operator !=. More...
 
bool operator< (const SocketTCP &Other) const
 Comparison operator <. More...
 

Friends

class Selector< SocketTCP >
 

Detailed Description

SocketTCP wraps a socket using TCP protocol to send data safely (but a bit slower)

Definition at line 45 of file SocketTCP.hpp.

Constructor & Destructor Documentation

◆ SocketTCP()

sf::SocketTCP::SocketTCP ( )

Default constructor.

Definition at line 47 of file SocketTCP.cpp.

Member Function Documentation

◆ Accept()

Socket::Status sf::SocketTCP::Accept ( SocketTCP Connected,
IPAddress Address = NULL 
)

Wait for a connection (must be listening to a port).

This function will block if the socket is blocking

Parameters
Connected: Socket containing the connection with the connected client
Address: Pointer to an address to fill with client infos (NULL by default)
Returns
Status code

This function will block if the socket is blocking

Definition at line 206 of file SocketTCP.cpp.

◆ Close()

bool sf::SocketTCP::Close ( )

Close the socket.

Returns
True if operation has been successful

Definition at line 406 of file SocketTCP.cpp.

◆ Connect()

Socket::Status sf::SocketTCP::Connect ( unsigned short  Port,
const IPAddress HostAddress,
float  Timeout = 0.f 
)

Connect to another computer on a specified port.

Parameters
Port: Port to use for transfers (warning : ports < 1024 are reserved)
HostAddress: IP Address of the host to connect to
Timeout: Maximum time to wait, in seconds (0 by default : no timeout) (this parameter is ignored for non-blocking sockets)
Returns
True if operation has been successful

Definition at line 70 of file SocketTCP.cpp.

◆ IsValid()

bool sf::SocketTCP::IsValid ( ) const

Check if the socket is in a valid state ; this function can be called any time to check if the socket is OK.

Returns
True if the socket is valid

Definition at line 429 of file SocketTCP.cpp.

◆ Listen()

bool sf::SocketTCP::Listen ( unsigned short  Port)

Listen to a specified port for incoming data or connections.

Parameters
Port: Port to listen to
Returns
True if operation has been successful

Definition at line 169 of file SocketTCP.cpp.

◆ operator!=()

bool sf::SocketTCP::operator!= ( const SocketTCP Other) const

Comparison operator !=.

Parameters
Other: Socket to compare
Returns
True if *this != Other

Definition at line 447 of file SocketTCP.cpp.

◆ operator<()

bool sf::SocketTCP::operator< ( const SocketTCP Other) const

Comparison operator <.

Provided for compatibility with standard containers, as comparing two sockets doesn't make much sense...

Parameters
Other: Socket to compare
Returns
True if *this < Other

Provided for compatibility with standard containers, as comparing two sockets doesn't make much sense...

Definition at line 458 of file SocketTCP.cpp.

◆ operator==()

bool sf::SocketTCP::operator== ( const SocketTCP Other) const

Comparison operator ==.

Parameters
Other: Socket to compare
Returns
True if *this == Other

Definition at line 438 of file SocketTCP.cpp.

◆ Receive() [1/2]

Socket::Status sf::SocketTCP::Receive ( char *  Data,
std::size_t  MaxSize,
std::size_t &  SizeReceived 
)

Receive an array of bytes from the host (must be connected first).

This function will block if the socket is blocking

Parameters
Data: Pointer to a byte array to fill (make sure it is big enough)
MaxSize: Maximum number of bytes to read
SizeReceived: Number of bytes received
Returns
Status code

This function will block if the socket is blocking

Definition at line 272 of file SocketTCP.cpp.

◆ Receive() [2/2]

Socket::Status sf::SocketTCP::Receive ( Packet PacketToReceive)

Receive a packet from the host (must be connected first).

This function will block if the socket is blocking

Parameters
PacketToReceive: Packet to fill with received data
Returns
Status code

This function will block if the socket is blocking

Definition at line 340 of file SocketTCP.cpp.

◆ Send() [1/2]

Socket::Status sf::SocketTCP::Send ( const char *  Data,
std::size_t  Size 
)

Send an array of bytes to the host (must be connected first)

Parameters
Data: Pointer to the bytes to send
Size: Number of bytes to send
Returns
Status code

Definition at line 235 of file SocketTCP.cpp.

◆ Send() [2/2]

Socket::Status sf::SocketTCP::Send ( Packet PacketToSend)

Send a packet of data to the host (must be connected first)

Parameters
PacketToSend: Packet to send
Returns
Status code

Definition at line 314 of file SocketTCP.cpp.

◆ SetBlocking()

void sf::SocketTCP::SetBlocking ( bool  Blocking)

Change the blocking state of the socket.

The default behaviour of a socket is blocking

Parameters
Blocking: Pass true to set the socket as blocking, or false for non-blocking

Definition at line 56 of file SocketTCP.cpp.


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