标题:求助:CAsyncSocket类套接字接收十六进制数据流出错
只看楼主
liaoqian3362
Rank: 1
来 自:江苏大学
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-12-7
 问题点数:0 回复次数:0 
求助:CAsyncSocket类套接字接收十六进制数据流出错
以下是服务器接收十六进制数据的函数:
void CTcpServer1Dlg::OnReceive()
{
    char* buff=new char[1000];
    int nReceived;
    CString strReceived,str1,str2,str3;
    int nFlag=0;
    nReceived=m_sConnectSocket.Receive(buff,1000);
    do
    {
       if(nReceived==0)
       {
            nFlag=0;
        }
       else if(nReceived==NULL)
       {
            AfxMessageBox("接收数据出错!",MB_OK|MB_ICONSTOP);
            return;
       }
       else if(nReceived>1000||nReceived<0)
       {
            AfxMessageBox("接收数据出错!",MB_OK|MB_ICONSTOP);
            return;
       }
       else
       {
        for(int i=0;i<nReceived;i++)
        {
            str1.Format("%02X ",buff[i]);
            str2+=str1;
        }
        nFlag=1;
       }
     }while(nFlag==0);
    str3.Format("From Client: %s",str2);
    m_listRecvData.AddString(str3);//接收数据列表框显示数据
    UpdateData(FALSE);
}
编译后显示数据如下:
00
00 06 00 FFFFFF1B 0B 1F 15 00 FFFFFF5B 00 07 2B 3B EB
正常情况不应该出现“FFFFFF”这样的字符串,请问各位高手,这是怎么回事?应该怎样改?
搜索更多相关主题的帖子: CAsyncSocket 套接字 十六进制 数据 
2010-12-11 17:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-328708-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.412627 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved