25 #ifndef SFML_SOCKETUDP_HPP
26 #define SFML_SOCKETUDP_HPP
31 #include <SFML/Network/SocketHelper.hpp>
39 template <
typename>
class Selector;
62 void SetBlocking(
bool Blocking);
72 bool Bind(
unsigned short Port);
93 Socket::Status Send(
const char* Data, std::size_t Size,
const IPAddress& Address,
unsigned short Port);
108 Socket::Status Receive(
char* Data, std::size_t MaxSize, std::size_t& SizeReceived,
IPAddress& Address,
unsigned short& Port);
120 Socket::Status Send(
Packet& PacketToSend,
const IPAddress& Address,
unsigned short Port);
133 Socket::Status Receive(
Packet& PacketToReceive,
IPAddress& Address,
unsigned short& Port);
150 bool IsValid()
const;
158 unsigned short GetPort()
const;
168 bool operator ==(
const SocketUDP& Other)
const;
178 bool operator !=(
const SocketUDP& Other)
const;
190 bool operator <(
const SocketUDP& Other)
const;
203 SocketUDP(SocketHelper::SocketType Descriptor);
211 void Create(SocketHelper::SocketType Descriptor = 0);
216 SocketHelper::SocketType mySocket;
217 unsigned short myPort;
218 Uint32 myPendingHeader;
219 Uint32 myPendingHeaderSize;
220 std::vector<char> myPendingPacket;
221 Int32 myPendingPacketSize;
228 #endif // SFML_SOCKETUDP_HPP