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_SOCKETTCP_HPP
00026 #define SFML_SOCKETTCP_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 sfSocketTCP
00044 {
00045 public :
00046
00051 sfSocketTCP();
00052
00062 bool Connect(unsigned short Port, const sfIPAddress& HostAddress);
00063
00072 bool Listen(unsigned short Port);
00073
00082 sfSocketTCP Accept(sfIPAddress* Address = NULL);
00083
00094 bool Send(const char* Data, std::size_t Size);
00095
00109 bool Receive(char* Data, std::size_t MaxSize, std::size_t& SizeReceived);
00110
00120 bool Send(sfPacket& Packet);
00121
00133 bool Receive(sfPacket& Packet);
00134
00141 bool Close();
00142
00151 bool operator ==(const sfSocketTCP& Other) const;
00152
00161 bool operator !=(const sfSocketTCP& Other) const;
00162
00173 bool operator <(const sfSocketTCP& Other) const;
00174
00175 private :
00176
00177 friend sfSelector<sfSocketTCP>;
00178
00186 sfSocketTCP(sf_private::sfSocketType Descriptor);
00187
00189
00191 sf_private::sfSocketType mySocket;
00192 };
00193
00194
00195 #endif // SFML_SOCKETTCP_HPP