# 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 195 of file SocketTCP.cpp.

bool sf::SocketTCP::Close | ( |  | ) |

Close the socket.

Returns:
  True if operation has been successful

Definition at line 386 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 409 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 158 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 427 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 438 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 418 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 329 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 261 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 303 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 224 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:

- SocketTCP.hpp
- SocketTCP.cpp