读书人

关于Socket的单字节和多字节发送接受有

发布时间: 2012-03-15 11:50:38 作者: rapoo

关于Socket的单字节和多字节发送接受问题!
有一个邮件接受程序,是在单字节下写的,Send信息时都没有问题,
当我把工程改为Unicode模式时,编译通过后,在第一次Send后就再也没有反应了。
代码如下:
CString strCommond;
strCommond.Format(L "user %s%c%c ", m_strUserName, 13, 10);
int nCmdLen = strCommond.GetLength();
Send((LPCSTR)strCommond, nCmdLen);
单字节下,能顺利发送,并立刻响应OnReceive
Unicode下,发送后,就再也没有了反应!

[解决办法]
首先检查SEND的返回值,如果正确,那查看RECV是否有收到消息,最好用API的
[解决办法]
int nCmdLen = strCommond.GetLength();
得到的是宽字符的字符长度,它通常是以单字节计算的长度的一半。

检查send的返回值,最好能检查到发出的实际内容

读书人网 >VC/MFC

热点推荐