1 / 6
文档名称:

扔掉Socket实现网络编程.doc

格式:doc   大小:26KB   页数:6页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

扔掉Socket实现网络编程.doc

上传人:1314042**** 2021/2/23 文件大小:26 KB

下载得到文件列表

扔掉Socket实现网络编程.doc

文档介绍

文档介绍:客户端
  创建一个Dialog Based项目:CSockClient。设计一对话框,增加ID_Connect(连接)、ID_Send(发送)、ID_Exit(关闭)按钮,增加ListBox控件IDC_LISTMSG和Edit控件IDC_EDITMSG,并按下表在ClassWizard中为CCSockClientDlg类添加变量。
  Control ID Type Member
  IDC_EDITMSG CEdit m_MSG
  IDC_LISTMSG ClistBox m_MSGS
  在MySockccp中添加以下代码:
  #include "CSockClienth"
  #include "CSockClientDlgh"
  在MySockh中添加以下代码:
  public:
BOOL m_bConnected;
UINT m_nLength;
char m_szBuffer[4096];
在MySockccp中重载各函数
MySock::MySock()
{ m_nLength=0;
memset(m_szBuffer,0,sizeof(m_szBuffer));
m_bConnected=FALSE;}
MySock::~MySock()
{ //关闭套接字
if(m_hSocket!=INVALID_SOCKET)
Close(); }
void MySock::OnReceive(int nErrorCode)
{ m_nLength=Receive(m_szBuffer,sizeof(m_szBuffer),0);
//下面两行代码用来获取对话框指针
CCSockClientApp* pApp=(CCSockClientApp*)AfxGetApp();
CCSockClientDlg* pDlg=(CCSockClientDlg*)pApp- >m_pMainWnd;
pDlg- >m_MSGSInsertString(0,m_szBuffer);
memset(m_szBuffer,0,sizeof(m_szBuffer));
CAsyncSocket::OnReceive(nErrorCode);}
void MySock::OnSend(int nErrorCode)
{ Send(m_szBuffer,m_nLength,0);
m_nLength=0;
memset(m_szBuffer,0,sizeof(m_szBuffer));
//继续提请一个“读”的网络事件,接收Server消息
AsyncSelect(FD_READ);
CAsyncSocket::OnSend(nErrorCode);}
void MySock::OnConnect(int nErrorCode)
{ if (nErrorCode==0)
{ m_bConnected=TRUE;
CCSockClientApp* pApp=(CCSockClientApp*)AfxGetApp();
CCSockClientDlg* pDlg=(CCSockClientDlg*)