| 35 |
#include <WinSock2.h> |
#include <WinSock2.h> |
| 36 |
#include <MSTcpIP.h> // For tcp_keepalive, promiscuous |
#include <MSTcpIP.h> // For tcp_keepalive, promiscuous |
| 37 |
#include <memory> // For shard_ptr |
#include <memory> // For shard_ptr |
| 38 |
|
#include "Config.h" |
| 39 |
|
|
| 40 |
#pragma comment(lib, "ws2_32") |
#pragma comment(lib, "ws2_32") |
| 41 |
|
|
|
#define SM_EVENT (WM_APP + 100) |
|
|
#define SM_GETHOST (WM_APP + 101) |
|
|
|
|
|
#define SX_KA_TIME 30000 // 30 seconds |
|
|
#define SX_KA_INTERVAL 1000 // 1 seconds |
|
|
#define SX_SEND_TIMEOUT 20000 // 20 seconds |
|
|
#define SX_RECV_TIMEOUT 20000 // 20 seconds |
|
|
#define SX_TCP_MAXBUFSIZE 262144 // 256 KByte |
|
|
#define SX_TCP_MINBUFSIZE 8192 // 8 KByte |
|
|
#define SX_UDP_BUFSIZE 4096 // 4 KByte |
|
|
|
|
|
#define SX_EVENT_SEND 1000 |
|
|
#define SX_EVENT_RECEIVE 2000 |
|
|
#define SX_EVENT_CONNECT 3000 |
|
|
#define SX_EVENT_ACCEPT 4000 |
|
|
#define SX_EVENT_CLOSE 5000 |
|
|
|
|
|
#define FD_SERVER (FD_ACCEPT | FD_WRITE | FD_READ | FD_CLOSE) |
|
|
#define FD_CLIENT (FD_WRITE | FD_READ | FD_CLOSE) |
|
|
#define FD_PEER (FD_WRITE | FD_READ | FD_CLOSE) |
|
|
|
|
| 42 |
////////////////////////////////////////////////////////////////////////// |
////////////////////////////////////////////////////////////////////////// |
| 43 |
|
|
| 44 |
BOOL SocketXInitialize(); |
BOOL SocketXInitialize(); |
| 97 |
{ |
{ |
| 98 |
public: |
public: |
| 99 |
ISocketMessage() {} |
ISocketMessage() {} |
| 100 |
~ISocketMessage() {} |
virtual ~ISocketMessage() {} |
| 101 |
|
|
| 102 |
// Message function |
// Message function |
| 103 |
virtual void OnSocketSendMessage(DWORD dwSocketID) {} |
virtual void OnSocketSendMessage(DWORD dwSocketID) {} |
| 150 |
virtual void OnClose(SOCKET hSocket, int nErrorCode) {} |
virtual void OnClose(SOCKET hSocket, int nErrorCode) {} |
| 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) {} |
|
void OnGetHostByName(HANDLE hTask, int nErrorCode); |
|
| 153 |
|
|
| 154 |
void SetTargetWnd(SOCKMSG SockMsg) { m_SockMsg = SockMsg; } |
void SetTargetWnd(SOCKMSG SockMsg) { m_SockMsg = SockMsg; } |
| 155 |
void ConvertSockAddrToNetAddr(const LPSOCKADDR lpSockAddr, NETADDR &NetAddr); |
void ConvertSockAddrToNetAddr(const LPSOCKADDR lpSockAddr, NETADDR &NetAddr); |
| 200 |
void MakeSockAddrIN(LPSOCKADDR_IN lpSockAddrIN, DWORD dwAddress, WORD wPort, UINT nAF = AF_INET); |
void MakeSockAddrIN(LPSOCKADDR_IN lpSockAddrIN, DWORD dwAddress, WORD wPort, UINT nAF = AF_INET); |
| 201 |
|
|
| 202 |
BOOL doCloseSocket(SOCKET hSocket); |
BOOL doCloseSocket(SOCKET hSocket); |
| 203 |
|
BOOL doGetHostByName(HANDLE hTask, int nErrorCode); |
| 204 |
BOOL doSend(SOCKET hSocket, const CByteArray &data); |
BOOL doSend(SOCKET hSocket, const CByteArray &data); |
| 205 |
BOOL doSendTo(SOCKET hSocket, const CByteArray &data, const LPSOCKADDR lpSockAddr, int nSockAddrLen); |
BOOL doSendTo(SOCKET hSocket, const CByteArray &data, const LPSOCKADDR lpSockAddr, int nSockAddrLen); |
| 206 |
BOOL doReceive(SOCKET hSocket, CByteArray &data); |
BOOL doReceive(SOCKET hSocket, CByteArray &data); |
| 243 |
typedef struct _HEADER |
typedef struct _HEADER |
| 244 |
{ |
{ |
| 245 |
size_t size; |
size_t size; |
| 246 |
|
size_t pad; |
| 247 |
|
WORD flags; |
| 248 |
} |
} |
| 249 |
HEADER, *LPHEADER; |
HEADER, *LPHEADER; |
| 250 |
|
|