| 43 |
|
|
| 44 |
BOOL SocketXInitialize(); |
BOOL SocketXInitialize(); |
| 45 |
|
|
| 46 |
class ISocketMessage; |
class ISocketCallback; |
| 47 |
class IBaseSocket; |
class IBaseSocket; |
| 48 |
class CServerSocket; |
class CServerSocket; |
| 49 |
class CClientSocket; |
class CClientSocket; |
| 63 |
{ |
{ |
| 64 |
DWORD dwAddress; |
DWORD dwAddress; |
| 65 |
WORD wPort; |
WORD wPort; |
| 66 |
UINT nAF; |
UINT nFamily; |
| 67 |
} |
} |
| 68 |
NETADDR, *LPNETADDR; |
NETADDR, *LPNETADDR; |
| 69 |
|
|
| 86 |
|
|
| 87 |
typedef struct _SOCKMSG |
typedef struct _SOCKMSG |
| 88 |
{ |
{ |
| 89 |
ISocketMessage *pTgtObj; |
ISocketCallback *pCallback; |
| 90 |
DWORD dwSocketID; |
DWORD dwSocketID; |
| 91 |
} |
} |
| 92 |
SOCKMSG, *LPSOCKMSG; |
SOCKMSG, *LPSOCKMSG; |
| 93 |
|
|
| 94 |
////////////////////////////////////////////////////////////////////////// |
////////////////////////////////////////////////////////////////////////// |
| 95 |
|
|
| 96 |
class ISocketMessage |
class ISocketCallback |
| 97 |
{ |
{ |
| 98 |
public: |
public: |
| 99 |
ISocketMessage() {} |
ISocketCallback() {} |
| 100 |
virtual ~ISocketMessage() {} |
virtual ~ISocketCallback() {} |
| 101 |
|
|
| 102 |
// Message function |
// Message function |
| 103 |
virtual void OnSocketSendMessage(DWORD dwSocketID) {} |
virtual void OnSocketSendMessage(DWORD dwSocketID) {} |
| 151 |
virtual void OnSend(SOCKET hSocket, int nErrorCode) {} |
virtual void OnSend(SOCKET hSocket, int nErrorCode) {} |
| 152 |
virtual void OnReceive(SOCKET hSocket, int nErrorCode) {} |
virtual void OnReceive(SOCKET hSocket, int nErrorCode) {} |
| 153 |
|
|
| 154 |
void SetTargetWnd(SOCKMSG SockMsg) { m_SockMsg = SockMsg; } |
void SetCallback(SOCKMSG SockMsg) { m_SockMsg = SockMsg; } |
| 155 |
void ConvertSockAddrToNetAddr(const LPSOCKADDR lpSockAddr, NETADDR &NetAddr); |
void ConvertSockAddrToNetAddr(const LPSOCKADDR lpsAddr, NETADDR &NetAddr); |
| 156 |
BOOL CloseSocket(); |
BOOL CloseSocket(); |
| 157 |
BOOL Send(const CByteArray &data); |
BOOL Send(const CByteArray &data); |
| 158 |
BOOL Receive(CByteArray &data); |
BOOL Receive(CByteArray &data); |
| 159 |
BOOL SendTo(const CByteArray &data, const LPSOCKADDR lpSockAddr, int nSockAddrLen); |
BOOL SendTo(const CByteArray &data, const LPSOCKADDR lpsAddr, int nSockAddrLen); |
| 160 |
BOOL ReceiveFrom(CByteArray &data, LPSOCKADDR lpSockAddr, int *lpSockAddrLen); |
BOOL ReceiveFrom(CByteArray &data, LPSOCKADDR lpsAddr, int *lpsAddrLen); |
| 161 |
BOOL Shutdown(int nFlag); |
BOOL Shutdown(int nFlag); |
| 162 |
BOOL AsyncSelect(LONG lEvent); |
BOOL AsyncSelect(LONG lEvent); |
| 163 |
BOOL AsyncGetHostByName(const LPCSTR szHostName); |
BOOL AsyncGetHostByName(const LPCSTR szHostName); |
| 164 |
BOOL SetBlocking(); |
BOOL SetBlocking(); |
| 165 |
BOOL Bind(WORD wPort, DWORD dwAddress = INADDR_ANY); |
BOOL Bind(WORD wPort, DWORD dwAddress = INADDR_ANY); |
| 166 |
BOOL GetSockName(LPSOCKADDR lpSockAddr); |
BOOL GetSockName(LPSOCKADDR lpsAddr); |
| 167 |
BOOL GetPeerName(LPSOCKADDR lpSockAddr); |
BOOL GetPeerName(LPSOCKADDR lpsAddr); |
| 168 |
BOOL SetSockOpt(int nOptionName, LPCSTR lpOptionValue, int nOptionLen, int nLevel = SOL_SOCKET); |
BOOL SetSockOpt(int nOptionName, LPCSTR lpOptionValue, int nOptionLen, int nLevel = SOL_SOCKET); |
| 169 |
BOOL GetSockOpt(int nOptionName, LPSTR lpOptionValue, int *lpOptionLen, int nLevel = SOL_SOCKET); |
BOOL GetSockOpt(int nOptionName, LPSTR lpOptionValue, int *lpOptionLen, int nLevel = SOL_SOCKET); |
| 170 |
BOOL SetSendTimeout(DWORD dwTimeout); |
BOOL SetSendTimeout(DWORD dwTimeout); |
| 171 |
BOOL SetRecieveTimeout(DWORD dwTimeout); |
BOOL SetRecieveTimeout(DWORD dwTimeout); |
| 172 |
BOOL SetSendBufferSize(DWORD dwBufSize); |
BOOL SetSendBufferSize(DWORD dwBufSize); |
| 173 |
BOOL SetReceiveBufferSize(DWORD dwBufSize); |
BOOL SetReceiveBufferSize(DWORD dwBufSize); |
| 174 |
|
BOOL SetBufferSize(DWORD dwBufSize); |
| 175 |
BOOL SetKeepAlive(DWORD dwTime = SX_KA_TIME, DWORD dwInterval = SX_KA_INTERVAL); |
BOOL SetKeepAlive(DWORD dwTime = SX_KA_TIME, DWORD dwInterval = SX_KA_INTERVAL); |
| 176 |
BOOL SetReuseAddr(BOOL flag); |
BOOL SetReuseAddr(BOOL flag); |
| 177 |
BOOL IOCtlSocket(LONG lCommand, DWORD *lpArgument); |
BOOL IOCtlSocket(LONG lCommand, DWORD *lpArgument); |
| 197 |
virtual BOOL CreateSocket(SOCKMSG SockMsg) = 0; |
virtual BOOL CreateSocket(SOCKMSG SockMsg) = 0; |
| 198 |
|
|
| 199 |
BOOL CreateSocketWindow(); |
BOOL CreateSocketWindow(); |
| 200 |
BOOL IsLANConnection(const LPSOCKADDR lpSockAddr); |
BOOL IsLANConnection(const LPSOCKADDR lpsAddr); |
| 201 |
void MakeSockAddrIN(LPSOCKADDR_IN lpSockAddrIN, DWORD dwAddress, WORD wPort, UINT nAF = AF_INET); |
void MakeSockAddrIN(LPSOCKADDR_IN lpsAddrIn, DWORD dwAddress, WORD wPort, UINT nFamily = AF_INET); |
| 202 |
|
|
| 203 |
|
BOOL doCreateSocket(SOCKMSG SockMsg, int nType, int nProtocol); |
| 204 |
BOOL doCloseSocket(SOCKET hSocket); |
BOOL doCloseSocket(SOCKET hSocket); |
| 205 |
BOOL doGetHostByName(HANDLE hTask, int nErrorCode); |
BOOL doGetHostByName(HANDLE hTask, int nErrorCode); |
| 206 |
BOOL doSend(SOCKET hSocket, const CByteArray &data); |
BOOL doSend(SOCKET hSocket, const CByteArray &data); |
| 207 |
BOOL doSendTo(SOCKET hSocket, const CByteArray &data, const LPSOCKADDR lpSockAddr, int nSockAddrLen); |
BOOL doSendTo(SOCKET hSocket, const CByteArray &data, const LPSOCKADDR lpsAddr, int nSockAddrLen); |
| 208 |
BOOL doReceive(SOCKET hSocket, CByteArray &data); |
BOOL doReceive(SOCKET hSocket, CByteArray &data); |
| 209 |
BOOL doReceiveFrom(SOCKET hSocket, CByteArray &data, LPSOCKADDR lpSockAddr, int *lpSockAddrLen); |
BOOL doReceiveFrom(SOCKET hSocket, CByteArray &data, LPSOCKADDR lpsAddr, int *lpsAddrLen); |
| 210 |
BOOL doSetSendTimeout(SOCKET hSocket, DWORD dwTimeout); |
BOOL doSetSendTimeout(SOCKET hSocket, DWORD dwTimeout); |
| 211 |
BOOL doSetReceiveTimeout(SOCKET hSocket, DWORD dwTimeout); |
BOOL doSetReceiveTimeout(SOCKET hSocket, DWORD dwTimeout); |
| 212 |
BOOL doSetSendBufferSize(SOCKET hSocket, DWORD dwBufSize); |
BOOL doSetSendBufferSize(SOCKET hSocket, DWORD dwBufSize); |
| 219 |
BOOL doSetBlocking(SOCKET hSocket); |
BOOL doSetBlocking(SOCKET hSocket); |
| 220 |
BOOL doSetKeepAlive(SOCKET hSocket, DWORD dwKaTime, DWORD dwInterval); |
BOOL doSetKeepAlive(SOCKET hSocket, DWORD dwKaTime, DWORD dwInterval); |
| 221 |
BOOL doBind(SOCKET hSocket, WORD wPort, DWORD dwAddress); |
BOOL doBind(SOCKET hSocket, WORD wPort, DWORD dwAddress); |
| 222 |
BOOL doGetSockName(SOCKET hSocket, LPSOCKADDR lpSockAddr); |
BOOL doGetSockName(SOCKET hSocket, LPSOCKADDR lpsAddr); |
| 223 |
BOOL doGetPeerName(SOCKET hSocket, LPSOCKADDR lpSockAddr); |
BOOL doGetPeerName(SOCKET hSocket, LPSOCKADDR lpsAddr); |
| 224 |
BOOL doSetReuseAddr(SOCKET hSocket, BOOL flag); |
BOOL doSetReuseAddr(SOCKET hSocket, BOOL flag); |
| 225 |
BOOL doIOCtlSocket(SOCKET hSocket, LONG lCommand, DWORD *lpArgument); |
BOOL doIOCtlSocket(SOCKET hSocket, LONG lCommand, DWORD *lpArgument); |
| 226 |
BOOL doWSAIOCtl(SOCKET hSocket, DWORD dwIoCtlCode, LPVOID lpInBuf, DWORD dwInBuf, LPVOID lpOutBuf, |
BOOL doWSAIOCtl(SOCKET hSocket, DWORD dwIoCtlCode, LPVOID lpInBuf, DWORD dwInBuf, LPVOID lpOutBuf, |
| 274 |
DWORD m_dwError; |
DWORD m_dwError; |
| 275 |
DWORD m_dwSendTimeout; |
DWORD m_dwSendTimeout; |
| 276 |
DWORD m_dwReceiveTimeout; |
DWORD m_dwReceiveTimeout; |
| 277 |
|
DWORD m_dwSendBufSize; |
| 278 |
|
DWORD m_dwReceiveBufSize; |
| 279 |
LONG m_lEvent; |
LONG m_lEvent; |
| 280 |
WORD m_wBindPort; |
WORD m_wBindPort; |
| 281 |
BOOL m_fBlocking; |
BOOL m_fBlocking; |
| 299 |
virtual void OnReceive(SOCKET hSocket, int nErrorCode); |
virtual void OnReceive(SOCKET hSocket, int nErrorCode); |
| 300 |
|
|
| 301 |
BOOL Initialize(SOCKMSG SockMsg, WORD wPort, DWORD dwBindAddress = INADDR_ANY, int nBacklog = 5); |
BOOL Initialize(SOCKMSG SockMsg, WORD wPort, DWORD dwBindAddress = INADDR_ANY, int nBacklog = 5); |
| 302 |
BOOL Accept(LPSOCKADDR lpSockAddr, int *lpSockAddrLen); |
BOOL Accept(LPSOCKADDR lpsAddr, int *lpsAddrLen); |
| 303 |
BOOL Listen(int nBacklog = 5); |
BOOL Listen(int nBacklog = 5); |
| 304 |
BOOL Broadcast(const CByteArray &data); |
BOOL Broadcast(const CByteArray &data); |
| 305 |
BOOL SendToClient(const CByteArray &data, DWORD dwAddress, WORD wPort); |
BOOL SendToClient(const CByteArray &data, DWORD dwAddress, WORD wPort); |
| 313 |
virtual BOOL CreateSocket(SOCKMSG SockMsg); |
virtual BOOL CreateSocket(SOCKMSG SockMsg); |
| 314 |
|
|
| 315 |
int SearchSocketConnection(SOCKET hSocket); |
int SearchSocketConnection(SOCKET hSocket); |
| 316 |
void AddConnection(SOCKET hSocket, const LPSOCKADDR lpSockAddr, int nSockAddrLen); |
void AddConnection(SOCKET hSocket, const LPSOCKADDR lpsAddr, int nSockAddrLen); |
| 317 |
void CloseAllSocketConnection(); |
void CloseAllSocketConnection(); |
| 318 |
BOOL ServerReceive(SOCKET hSocket); |
BOOL ServerReceive(SOCKET hSocket); |
| 319 |
BOOL CloseSocketConnection(SOCKET hSocket, LPNETADDR lpNetAddr); |
BOOL CloseSocketConnection(SOCKET hSocket, LPNETADDR lpNetAddr); |
| 409 |
virtual ~CMcastSocket(); |
virtual ~CMcastSocket(); |
| 410 |
|
|
| 411 |
BOOL SetReceiveMulticast(DWORD dwMcastAddress); |
BOOL SetReceiveMulticast(DWORD dwMcastAddress); |
| 412 |
BOOL JoinMulticastGroup(DWORD dwMcastAddress, WORD wPort); |
BOOL AddMembership(DWORD dwMcastAddress, WORD wPort); |
| 413 |
BOOL LeaveMulticastGroup(); |
BOOL DropMembership(); |
| 414 |
BOOL SetTTL(DWORD dwTTL); |
BOOL SetTTL(DWORD dwTTL); |
| 415 |
BOOL Multicast(const CByteArray &data); |
BOOL Multicast(const CByteArray &data); |
| 416 |
|
|