关于Socket的单字节和多字节发送接受问题!

bukebushuo 2007-07-12 01:22:07
有一个邮件接受程序,是在单字节下写的,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下,发送后,就再也没有了反应!
...全文
230 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ouyh12345 2007-07-12
  • 打赏
  • 举报
回复
int nCmdLen = strCommond.GetLength();
得到的是宽字符的字符长度,它通常是以单字节计算的长度的一半。

检查send的返回值,最好能检查到发出的实际内容
bukebushuo 2007-07-12
  • 打赏
  • 举报
回复
在单字节模式下没有问题,感觉是多字节的问题。
mudunke775 2007-07-12
  • 打赏
  • 举报
回复
首先检查SEND的返回值,如果正确,那查看RECV是否有收到消息,最好用API的

18,357

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧