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

Posted ~小小鸟~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于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);  
}

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

技术分享图片


以上是关于基于CSOCKET的Client简单实例(转)的主要内容,如果未能解决你的问题,请参考以下文章

MFC下CSocket编程详解(转)

基于UDP的交互的实例

CSocket - DataArrival 未发生(GET 请求)

Netty实例-简单的服务端-client实现,凝视具体

[接口测试 - http.client篇] 16 基于http.client之POM实战一下

socket API CSocket CAsyncSocket 用法及区别