sf::SocketTCP Class Reference

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

#include <SocketTCP.hpp>

List of all members.


Public Member Functions

 SocketTCP ()
 Default constructor.
void SetBlocking (bool Blocking)
 Change the blocking state of the socket.
Socket::Status Connect (unsigned short Port, const IPAddress &HostAddress, float Timeout=0.f)
 Connect to another computer on a specified port.
bool Listen (unsigned short Port)
 Listen to a specified port for incoming data or connections.
Socket::Status Accept (SocketTCP &Connected, IPAddress *Address=NULL)
 Wait for a connection (must be listening to a port).
Socket::Status Send (const char *Data, std::size_t Size)
 Send an array of bytes to the host (must be connected first).
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).
Socket::Status Send (Packet &PacketToSend)
 Send a packet of data to the host (must be connected first).
Socket::Status Receive (Packet &PacketToReceive)
 Receive a packet from the host (must be connected first).
bool Close ()
 Close the socket.
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.
bool operator== (const SocketTCP &Other) const
 Comparison operator ==.
bool operator!= (const SocketTCP &Other) const
 Comparison operator !=.
bool operator< (const SocketTCP &Other) const
 Comparison operator <.

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

sf::SocketTCP::SocketTCP (  ) 

Default constructor.

Definition at line 47 of file SocketTCP.cpp.


Member Function Documentation

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.

bool sf::SocketTCP::Close (  ) 

Close the socket.

Returns:
True if operation has been successful

Definition at line 406 of file SocketTCP.cpp.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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: