开源的socket服务端客户端,支持C# C++

ClientDlg.h 2.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. // ClientDlg.h : header file
  2. //
  3. #pragma once
  4. #include "afxwin.h"
  5. #include "../../../Src/HPSocket.h"
  6. #include "../../Global/helper.h"
  7. // CClientDlg dialog
  8. class CClientDlg : public CDialogEx, public CUdpClientListener
  9. {
  10. // Construction
  11. public:
  12. CClientDlg(CWnd* pParent = nullptr); // standard constructor
  13. // Dialog Data
  14. enum { IDD = IDD_CLIENT_DIALOG };
  15. protected:
  16. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  17. virtual BOOL PreTranslateMessage(MSG* pMsg);
  18. // Implementation
  19. protected:
  20. HICON m_hIcon;
  21. // Generated message map functions
  22. virtual BOOL OnInitDialog();
  23. afx_msg void OnClose();
  24. afx_msg void OnPaint();
  25. afx_msg HCURSOR OnQueryDragIcon();
  26. afx_msg void OnBnClickedStart();
  27. afx_msg void OnBnClickedStop();
  28. afx_msg LRESULT OnUserInfoMsg(WPARAM wp, LPARAM lp);
  29. afx_msg int OnVKeyToItem(UINT nKey, CListBox* pListBox, UINT nIndex);
  30. DECLARE_MESSAGE_MAP()
  31. public:
  32. void SetAppState(EnAppState state);
  33. private:
  34. virtual EnHandleResult OnPrepareConnect(IUdpClient* pSender, CONNID dwConnID, SOCKET socket);
  35. virtual EnHandleResult OnSend(IUdpClient* pSender, CONNID dwConnID, const BYTE* pData, int iLength);
  36. virtual EnHandleResult OnReceive(IUdpClient* pSender, CONNID dwConnID, const BYTE* pData, int iLength);
  37. virtual EnHandleResult OnClose(IUdpClient* pSender, CONNID dwConnID, EnSocketOperation enOperation, int iErrorCode);
  38. virtual EnHandleResult OnConnect(IUdpClient* pSender, CONNID dwConnID);
  39. private:
  40. BOOL CheckParams();
  41. private:
  42. CComboBox m_TestTimes;
  43. CComboBox m_SocketCount;
  44. CComboBox m_TestInterv;
  45. CComboBox m_DataLen;
  46. CListBox m_Info;
  47. CEdit m_Address;
  48. CEdit m_Port;
  49. CButton m_Start;
  50. CButton m_Stop;
  51. CString m_strAddress;
  52. USHORT m_usPort;
  53. int m_iTestTimes;
  54. int m_iTestInterv;
  55. int m_iSocketCount;
  56. int m_iDataLen;
  57. volatile LONGLONG m_llTotalReceived;
  58. volatile LONGLONG m_llTotalSent;
  59. LONGLONG m_llExpectReceived;
  60. DWORD m_dwBeginTickCount;
  61. DWORD m_dwTimeconsuming;
  62. EnAppState m_enState;
  63. CBufferPtr m_sendBuffer;
  64. VectorWrapper<vector<CUdpClientPtr*>, PtrSet_Cleaner<vector<CUdpClientPtr*>>> m_vtClients;
  65. };