求助!!! socket send的数据和recv的数据不一致???

wan16897 2007-10-28 05:15:56
老师叫我们做远程控制软件, Server端用MFC, Client端用WIN32(Server端和Client端都使用SDK里的socket);
用Cilent端远程控制Server端;

我做到文件传输的时候,socket第三次recv时数据总是和send出来的不对;
经过观察发现,在16进制下接受到数据前都多了fd,如我发送100(16进制:64) 接收到的是2万多(16进制:64fd);

我用线程接收,接收的过程有几次函数调用,case while(1)等语句;

我找了一天也没找到问题,这是怎么回事呀?????
...全文
220 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzg0001 2007-10-28
  • 打赏
  • 举报
回复

检查一下数据类型吧,可以发送了两个字节,接受后用内存拷贝到四个字节的变量里,

或者你的64是一个short,而你却发送了sizeof(int)个字节...

socket 看到的只有内存里的字节,它可不管你在里面放了什么.

纯属猜测,不对勿怪!
wei_fafa 2007-10-28
  • 打赏
  • 举报
回复
请问楼住SDK里的socket调用是否正确,你后面的64FD 是如何出现的?SERVER AND CLIENT 是对等吗?

18,356

社区成员

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

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