| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 846 人关注过本帖
标题:MFC UDP服务器接收数据乱码问题。
只看楼主 加入收藏
yijianhanmei
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2013-6-20
结帖率:87.5%
收藏
已结贴  问题点数:15 回复次数:2 
MFC UDP服务器接收数据乱码问题。
各位大神,急求大家帮助啊,我在做一个UDP服务器,用来接收我的一个设备发送的数据,设备发送的是十六进制数据0xaa;我想在把数据显示在服务器端,显示为aa。下面上我的服务器端接收数据的函数,可是我接收到的是乱码,请各位大神帮我改改代码吧。

UINT ServerRecvThread(LPVOID lpParm )
{
    CUDP_ServerDlg *dlg = (CUDP_ServerDlg*)lpParm;
    char gcInBuffer[1027];
    int lenth;
    CByteArray hexdata;
    int size = sizeof(sockaddr_in);
    CString strReceive, tempStr;
     char*gcClientIP;
     bool bSendEnable = false;
    while(!dlg->m_bTerminateThread)
    {
        if ((lenth = recvfrom(dlg->m_sockServer, gcInBuffer, 1024, 0, (struct sockaddr *)&dlg->m_clientAddr, &size) )>0)
        {
            if (!bSendEnable)
            {
                CWnd *cwnd = dlg->GetDlgItem(IDC_BUTTON_SEND);
                cwnd->EnableWindow(TRUE);
                bSendEnable = true;
            }

            gcClientIP = inet_ntoa((dlg->m_clientAddr).sin_addr);
            tempStr.Format("%s", gcClientIP);
            dlg->SetDlgItemText(IDC_STATIC_CLINET_ADDRESS, tempStr);
            tempStr.Format("%hu", dlg->m_clientAddr.sin_port);
            dlg->SetDlgItemText(IDC_STATIC_CLIENT_PORTNO, tempStr);
            tempStr.Format("%s:%hu: ", gcClientIP, dlg->m_clientAddr.sin_port);
            strReceive += tempStr;
            gcInBuffer[lenth] = '\r';
            gcInBuffer[lenth+1] = '\n';
            gcInBuffer[lenth+2] = '\0';
            strReceive += gcInBuffer;
            dlg->m_editReceive.SetWindowText(strReceive);   
            
        }
    }


    return 0;
}
搜索更多相关主题的帖子: 十六进制 服务器 
2013-08-13 14:09
yuccn
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:11 
自己调试下看看。谁知道你发送端发送的是什么数据?

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-08-13 17:38
yijianhanmei
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2013-6-20
收藏
得分:0 
回复 2楼 yuccn
发送端发的数据就是16进制0xAA,我用别人做好的服务器软件接收到是对的,我想自己做服务器,接收到的就是乱码,但是如果已经做好的服务器如果不选中16进制显示,得到的显示结果和我的一样。所以,版主就帮帮我吧。非常感激。
2013-08-13 21:09
快速回复:MFC UDP服务器接收数据乱码问题。
数据加载中...
 
   



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

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