基于CSOCKET的Client简单实例(转)

原文转自 http://blog.csdn.net/badagougou/article/details/78410382

 

第一步:创建一个基类为CSOCKET类的新类,Cclient,并在主对话框类创建对象Cclient client1

第二步:创建并连接服务器,注意IP地址和端口号要匹配服务器

在主对话框OnInitDialog()里调用。 

    // TODO: 在此添加额外的初始化代码  
    client1.Create();  
    client1.Connect(_T("192.168.42.87"),20000);  
    return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE 

第三步:发送信息

创建一个文本框,点击按钮时发送文本框数据给服务器

void CtemptcpclientDlg::OnBnClickedButton1()  
{  
    // TODO: 在此添加控件通知处理程序代码  
    UpdateData(true);  
    char buf[20]="0";  
    for(int i=0;i<m_sendtxt.GetLength();i++)//m_sendtxt是文本框关联变量  
    {  
        buf[i]=m_sendtxt.GetAt(i);  
    }  
    client1.Send(buf,m_sendtxt.GetLength());  
}

第四步:接受信息

在类视图里点击Cclient类,重写OnReceive消息函数,并把接收到的消息在文本框显示

void Cclient::OnReceive(int nErrorCode)  
{  
    // TODO: 在此添加专用代码和/或调用基类  
    char buf[128]={0};  
    int recelen=Receive(buf,1024);  
    CString str(buf);  
    //AfxMessageBox(str);//显示方法1  
  
    ((CtemptcpclientDlg*)theApp.GetMainWnd())->SetDlgItemTextW(IDC_EDIT2, str);//IDC_EDIT2显示数据的文本框ID  
    CSocket::OnReceive(nErrorCode);  
}

最后就可以和服务器简单通信了。


原文地址:https://www.cnblogs.com/happykoukou/p/7998379.html