1. 程式人生 > >基於CSOCKET的Client簡單實例(轉)

基於CSOCKET的Client簡單實例(轉)

ffffff 顯示數據 sdn for sock hit ssa tex 接收

原文轉自 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簡單實例(轉)