Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008 #ifndef __SP_NETWORK_SOCKET_H__
00009 #define __SP_NETWORK_SOCKET_H__
00010
00011
00012 #include "Base/spStandard.hpp"
00013
00014 #ifdef SP_COMPILE_WITH_NETWORKSYSTEM
00015
00016
00017 #include "Framework/Network/spNetworkCore.hpp"
00018 #include "Framework/Network/spNetworkAddress.hpp"
00019
00020
00021 namespace sp
00022 {
00023 namespace network
00024 {
00025
00026
00028 class SP_EXPORT NetworkSocket
00029 {
00030
00031 public:
00032
00033 NetworkSocket(const ENetworkProtocols Protocol = PROTOCOL_UDP);
00034 NetworkSocket(const ENetworkProtocols Protocol, SOCKET Socket);
00035 ~NetworkSocket();
00036
00037
00038
00039 bool bindSocket(const NetworkAddress &Address);
00040
00041
00042
00043 SOCKET getSocket() const
00044 {
00045 return Socket_;
00046 }
00047
00048 inline ENetworkProtocols getProtocol() const
00049 {
00050 return Protocol_;
00051 }
00052
00053 private:
00054
00055
00056
00057 void createSocket();
00058 void closeSocket();
00059
00060 void setupBehavior();
00061
00062 void setConnectionReset(bool Enable);
00063 void setBlocking(bool Enable);
00064 void setBroadCasting(bool Enable);
00065 void setReUseAddress(bool Enable);
00066
00067
00068
00069 ENetworkProtocols Protocol_;
00070
00071 SOCKET Socket_;
00072
00073 };
00074
00075
00076 }
00077
00078 }
00079
00080
00081 #endif
00082
00083 #endif
00084
00085
00086
00087