传输丢数据怎么办啊? 高分求急救

ripper 2001-09-27 04:36:25
winsock
发送程序在for循环里向接受程序发送字符串,可能是速度太快了,第一二个字符串能收到,然后会丢大概几十个字符串,大概到第3十个开始才能每个都收到。
就象这样
1 ok
2 ok
5 丢了:(
18 随机出现零星的几个 ;(
34 开始正常了 :)
35 下面都正常
36
……

后来把接受程序的进程优先级提供到High,大部分情况不会丢数据了。 可是怎么能保证一定不会丢数据呢? 我的程序不能乱丢数据的,一定得保证一个都不少。

请大虾们出手相救~~
...全文
125 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
nana11 2001-12-20
  • 打赏
  • 举报
回复
不是丢了,是在buffer里面。如果你再一次读的话,韩会读出数据,肯定是你说的那些被你称为丢的数据。课来电讨论
来电:spec_sh@sina.com
ripper 2001-12-20
  • 打赏
  • 举报
回复
请问怎么检查啊?
偶用的是CSocket,阻塞模式,带mfc支持的console程序
ripper 2001-12-20
  • 打赏
  • 举报
回复
请问怎么检查啊?
偶用的是CSocket,用ioctl置为阻塞模式
请大虾帮忙啊~
ripper 2001-11-26
  • 打赏
  • 举报
回复
用的是tcp
舟中夜起 2001-11-26
  • 打赏
  • 举报
回复
你发送之前检查一下是否可以发送,例如响应FD_WRITE消息
wangjunhothot 2001-11-26
  • 打赏
  • 举报
回复
T复杂了
icessl 2001-11-25
  • 打赏
  • 举报
回复
你用的是 TCP 还是 UDP ?UDP 容易丢数据,TCP 不会丢(如果控制得好的话)。
ripper 2001-11-25
  • 打赏
  • 举报
回复
是不是阻塞式socket非要有消息循环来协调啊?呕的程序是控制台的,里面用blocked socket就是不行; (

那位能帮帮我啊~
ripper 2001-09-28
  • 打赏
  • 举报
回复
我就是局域网啊,在本机上是上面说的情况,分两台机就收不到几个了,好像是因为socket是非同步式的,发的飞快地发完了,收的只收到两个 ;(
hellion 2001-09-28
  • 打赏
  • 举报
回复
局域网内一般不会有这种问题,不知你有没有判断发送的返回结果,是否根本没有发送成功。
即使发送成功,也不能保证另一端肯定能收到,最根本的解决办法是增加确认信息,采用重发机制。
ripper 2001-09-28
  • 打赏
  • 举报
回复
我顶
ripper 2001-09-27
  • 打赏
  • 举报
回复
还有其他办法嘛?
Jneu 2001-09-27
  • 打赏
  • 举报
回复
up
Jneu 2001-09-27
  • 打赏
  • 举报
回复
插入DELAY函数!

16,471

社区成员

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

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

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