00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00024
00025 #ifndef SFML_SOCKETUDP_HPP
00026 #define SFML_SOCKETUDP_HPP
00027
00029
00031 #include <SFML/Network/Sockets.hpp>
00032 #include <cstddef>
00033
00034 class sfPacket;
00035 class sfIPAddress;
00036 template <typename> class sfSelector;
00037
00038
00043 class SFML_API sfSocketUDP
00044 {
00045 public :
00046
00051 sfSocketUDP();
00052
00064 bool Send(const char* Data, std::size_t Size, const sfIPAddress& Address, unsigned short Port);
00065
00080 bool Receive(char* Data, std::size_t MaxSize, std::size_t& SizeReceived, sfIPAddress& Address, unsigned short Port);
00081
00092 bool Send(sfPacket& Packet, const sfIPAddress& Address, unsigned short Port);
00093
00106 bool Receive(sfPacket& Packet, sfIPAddress& Address, unsigned short Port);
00107
00114 bool Close();
00115
00124 bool operator ==(const sfSocketUDP& Other) const;
00125
00134 bool operator !=(const sfSocketUDP& Other) const;
00135
00146 bool operator <(const sfSocketUDP& Other) const;
00147
00148 private :
00149
00150 friend sfSelector<sfSocketUDP>;
00151
00159 sfSocketUDP(sf_private::sfSocketType Descriptor);
00160
00165 void Create();
00166
00168
00170 sf_private::sfSocketType mySocket;
00171 unsigned short myPort;
00172 };
00173
00174
00175 #endif // SFML_SOCKETUDP_HPP