Develop and Download Open Source Software

Browse Subversion Repository

Diff of /SocketX/SocketX.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 13 by sho1get, Tue May 25 06:54:25 2010 UTC revision 16 by sho1get, Mon Jun 28 05:40:57 2010 UTC
# Line 43  Line 43 
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;
# Line 63  typedef struct _NETADDR Line 63  typedef struct _NETADDR
63  {  {
64          DWORD dwAddress;          DWORD dwAddress;
65          WORD  wPort;          WORD  wPort;
66          UINT  nAF;          UINT  nFamily;
67  }  }
68  NETADDR, *LPNETADDR;  NETADDR, *LPNETADDR;
69    
# Line 86  IPv4, *LPIPv4; Line 86  IPv4, *LPIPv4;
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) {}
# Line 151  public: Line 151  public:
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);
# Line 196  protected: Line 197  protected:
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);
# Line 217  protected: Line 219  protected:
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,
# Line 272  protected: Line 274  protected:
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;
# Line 295  public: Line 299  public:
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);
# Line 309  protected: Line 313  protected:
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);
# Line 405  public: Line 409  public:
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    

Legend:
Removed from v.13  
changed lines
  Added in v.16

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26