使用CSocket编程传数据,出现乱码

huangleiisme 2014-02-23 10:58:07
我是采用两台电脑直连,两边的代码都采用OnTimer 触发 send 数据,如果定时器发送间隔是500ms,发送和接收的数据都正常;但是如果我将发送的间隔改为50ms 或者 100ms , 数据就会出现错误,比如会多出一些奇怪的字符,跪请大侠指点下啊,感激万分, 我需要处理快速的大数据传输!!!!

或者哪位大侠是否知道如果使用API是否能解决快速大数据的传输?
...全文
325 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangleiisme 2014-03-07
  • 打赏
  • 举报
回复
我实际的解决办法是加大了buffer,就好了 感谢各位给出的解决方法
副组长 2014-02-25
  • 打赏
  • 举报
回复
CSocket搞的我都不想用了。 单向发定义好包头,然后对面按长度接收通常还行。要是双向发送接收你就折腾吧,收不到是经常的事儿。 也许我没整明白CSocket。
赵4老师 2014-02-24
  • 打赏
  • 举报
回复
不知道有多少前人掉在TCP Socket send(人多)send(病少)send(财富) recv(人多病)recv(少财富) 陷阱里面啊! http://topic.csdn.net/u/20120210/09/51109ed0-07b9-41f2-b487-a51597f2ca01.html
Eleven 2014-02-24
  • 打赏
  • 举报
回复
自定义协议,自己组织包头信息~
你妹的特盗不 2014-02-24
  • 打赏
  • 举报
回复
数据包,最好定义包头,包尾,这样在处理数据的时候,才好分析出,是不是出现的连包问题. TCP连包,一不小心就出现了,一次收到N条数据的时候,很多. 所以协议的定义很重要 .
rxguoblp 2014-02-24
  • 打赏
  • 举报
回复
跟数据发送时间间隔长短没关系,应该是CSocket类的封装或者使用(例如接收端解码)存在问题。
孤客天涯 2014-02-24
  • 打赏
  • 举报
回复
SOCKET的粘包问题,短时间内两次或多次send,socket会把两个数据包当一个数据包发过去,所以你在接收的时候就会错位导致数据不正确,解决这一问题你需自己定义协议,采用固定数据头的方式
我系麦叔叔 2014-02-24
  • 打赏
  • 举报
回复
不懂。先mark!
oyljerry 2014-02-23
  • 打赏
  • 举报
回复
是不是数据互相干扰了

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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