DASocket.h
上传用户:asikq0571
上传日期:2014-07-12
资源大小:528k
文件大小:6k
源码类别:

Internet/IE编程

开发平台:

Visual C++

  1. // DASocket.h: interface for the CDASrvCnSocket class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_DASOCKET_H__EDEC4EA6_AAAB_4236_B174_5784F387A319__INCLUDED_)
  5. #define AFX_DASOCKET_H__EDEC4EA6_AAAB_4236_B174_5784F387A319__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #define WM_TCP_SERVER_CONNECTED (WM_USER+200)
  10. #define WM_TCP_SERVER_RECEIVE (WM_USER+201)
  11. #define WM_TCP_SERVER_SEND (WM_USER+202)
  12. #define WM_TCP_SERVER_CLOSED (WM_USER+203)
  13. #define WM_TCP_CLIENT_CONNECTED (WM_USER+210)
  14. #define WM_TCP_CLIENT_RECEIVE (WM_USER+211)
  15. #define WM_TCP_CLIENT_SEND (WM_USER+212)
  16. #define WM_TCP_CLIENT_CLOSED (WM_USER+213)
  17. #define WM_UDP_RECEIVE (WM_USER+221)
  18. #define WM_UDP_SEND (WM_USER+222)
  19. #define WM_UDP_CLOSED (WM_USER+223)
  20. /////////////////////////////////////////////////////////////////////////////
  21. //网络常用操作函数
  22. int GetLocalHostName(CString &sHostName); //获得本地计算机名称
  23. int GetIpAddress(const CString & sHostName,CString & sIpAddress);
  24. CString GetNetError(DWORD error);
  25. int GetNamebyAddress(const CString &IpAddress,CString &sYouName);//获得对方计算机名称
  26. /////////////////////////////////////////////////////////////////////////////
  27. /////////////////////////////////////////////////////////////////////////////SYSTEMTIME
  28. // CDASrvCnSocket command target
  29. class CDAServerSocket;
  30. class CDASrvCnSocket : public CAsyncSocket
  31. {
  32. // Attributes
  33. public:
  34. typedef void (CDAServerSocket::*ONNETEVENT)(CAsyncSocket* pSrvCnSocket, int nErrorCode);
  35. ONNETEVENT m_pEvtReceive;
  36. ONNETEVENT m_pEvtSend;
  37. ONNETEVENT m_pEvtOutOfBandData;
  38. ONNETEVENT m_pEvtAccept;
  39. ONNETEVENT m_pEvtConnect;
  40. ONNETEVENT m_pEvtClose;
  41. // Operations
  42. public:
  43. CDASrvCnSocket(CDAServerSocket* pOwner);
  44. virtual ~CDASrvCnSocket();
  45. // Overrides
  46. public:
  47. int m_nRemoPort;
  48. CString m_strRemoIP;
  49. BOOL RecvData(char *pRecvBuffer, int nBufLen, int& dwBytesReaded);
  50. BOOL SendData(char *pSendBuffer, int nBufLen, int& dwBytesSended);
  51. // ClassWizard generated virtual function overrides
  52. //{{AFX_VIRTUAL(CDASrvCnSocket)
  53. public:
  54. virtual void OnReceive(int nErrorCode);
  55. virtual void OnClose(int nErrorCode);
  56. virtual void OnConnect(int nErrorCode);
  57. virtual void OnOutOfBandData(int nErrorCode);
  58. virtual void OnSend(int nErrorCode);
  59. //}}AFX_VIRTUAL
  60. // Generated message map functions
  61. //{{AFX_MSG(CDASrvCnSocket)
  62. // NOTE - the ClassWizard will add and remove member functions here.
  63. //}}AFX_MSG
  64. // Implementation
  65. protected:
  66. CDAServerSocket* m_pOwner;
  67. };
  68. /////////////////////////////////////////////////////////////////////////////
  69. typedef CTypedPtrArray<CPtrArray,CDASrvCnSocket*> CDASrvCnSocketArr;
  70. /////////////////////////////////////////////////////////////////////////////
  71. // CDAServerSocket command target
  72. class CDAServerSocket : public CAsyncSocket
  73. {
  74. friend class CDASrvCnSocket;
  75. // Attributes
  76. public:
  77. CDASrvCnSocketArr m_arConnections;
  78. UINT m_nSocketPort;
  79. CString m_szAddr;
  80. BOOL PortOpened()
  81. {
  82. return m_bHasOpened;
  83. }
  84. BOOL SocketConnected()
  85. {
  86. return m_bConnected;
  87. }
  88. // Operations
  89. public:
  90. CDAServerSocket(HWND pOwner);
  91. virtual ~CDAServerSocket();
  92. BOOL OpenPort(UINT nSocketPort, const CString szAddr = _T(""));
  93. void ClosePort();
  94. // Overrides
  95. public:
  96. // ClassWizard generated virtual function overrides
  97. //{{AFX_VIRTUAL(CDAServerSocket)
  98. public:
  99. virtual void OnAccept(int nErrorCode);
  100. //}}AFX_VIRTUAL
  101. // Generated message map functions
  102. //{{AFX_MSG(CDAServerSocket)
  103. // NOTE - the ClassWizard will add and remove member functions here.
  104. //}}AFX_MSG
  105. // Implementation
  106. protected:
  107. HWND m_hOwner;
  108. BOOL m_bHasOpened;
  109. BOOL m_bConnected;
  110. protected:
  111. void ReceiveEvt(CAsyncSocket* pSrvCnSocket, int nErrorCode);
  112. void SendEvt(CAsyncSocket* pSrvCnSocket, int nErrorCode);
  113. void CloseEvt(CAsyncSocket* pSrvCnSocket, int nErrorCode);
  114. };
  115. /////////////////////////////////////////////////////////////////////////////
  116. /////////////////////////////////////////////////////////////////////////////
  117. // CDAClientSocket command target
  118. class CDAClientSocket : public CAsyncSocket
  119. {
  120. // Attributes
  121. public:
  122. UINT m_nHostPort;
  123. CString m_szHostAddr;
  124. BOOL PortOpened()
  125. {
  126. return m_bHasOpened;
  127. }
  128. BOOL SocketConnected()
  129. {
  130.         return m_bConnected;
  131. }
  132. // Operations
  133. public:
  134. CDAClientSocket(HWND pOwner);
  135. virtual ~CDAClientSocket();
  136. BOOL OpenPort(UINT nHostPort, const CString szHostAddr);
  137. void ClosePort();
  138. // Overrides
  139. public:
  140. BOOL RecvData(char *pRecvBuffer, int nBufLen);
  141. BOOL SendData(char *pSendBuffer, int nBufLen);
  142. // ClassWizard generated virtual function overrides
  143. //{{AFX_VIRTUAL(CDAClientSocket)
  144. public:
  145. virtual void OnConnect(int nErrorCode);
  146. virtual void OnReceive(int nErrorCode);
  147. virtual void OnSend(int nErrorCode);
  148. virtual void OnClose(int nErrorCode);
  149. //}}AFX_VIRTUAL
  150. // Generated message map functions
  151. //{{AFX_MSG(CDAClientSocket)
  152. // NOTE - the ClassWizard will add and remove member functions here.
  153. //}}AFX_MSG
  154. // Implementation
  155. protected:
  156. HWND m_pOwner;
  157. BOOL m_bHasOpened;
  158. BOOL m_bConnected;
  159. };
  160. // CDAUDPSocket command target
  161. class CDAUDPSocket : public CAsyncSocket
  162. {
  163. // Attributes
  164. public:
  165. UINT m_nLocalPort;
  166. BOOL PortOpened()
  167. {
  168. return m_bHasOpened;
  169. }
  170. // Operations
  171. public:
  172. CDAUDPSocket(HWND pOwner);
  173. virtual ~CDAUDPSocket();
  174. BOOL OpenPort(UINT m_nLocalPort);
  175. void ClosePort();
  176. // Overrides
  177. public:
  178. // ClassWizard generated virtual function overrides  GetSystemTime
  179. //{{AFX_VIRTUAL(CDAClientSocket)
  180. public:
  181. virtual void OnReceive(int nErrorCode);
  182. virtual void OnSend(int nErrorCode);
  183. virtual void OnClose(int nErrorCode);
  184. //}}AFX_VIRTUAL
  185. // Generated message map functions
  186. //{{AFX_MSG(CDAClientSocket)
  187. // NOTE - the ClassWizard will add and remove member functions here.
  188. //}}AFX_MSG
  189. // Implementation
  190. protected:
  191. HWND m_pOwner;
  192. BOOL m_bHasOpened;
  193. };
  194. /////////////////////////////////////////////////////////////////////////////
  195. #endif // !defined(AFX_DASOCKET_H__EDEC4EA6_AAAB_4236_B174_5784F387A319__INCLUDED_)