UDP的奇怪的问题!

szchengyu 2004-09-01 10:15:26
小弟从网上抄了些组播的代码,利用 UDP 发送和接收视频的程序,
但有一个现象百思不得其解:

只要发送端程序不拥有键盘焦点,就基本正常;
但一旦发送端程序的窗口获得了键盘焦点,接收端就会丢失大量的包,
这是为什么?哪位朋友给点思路。
...全文
287 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
szchengyu 2004-09-15
  • 打赏
  • 举报
回复
to bbcharm(碧海情天):
9494,我也觉得这只是个表面现象(见下述);


to rainsly(落英):
9494,我就是这个意思,但没有看过别人具体的代码,不知道该如何处理,
我自己也试着写了些代码来处理帧边界,但效果总是不够好:(

http://vchelp.net/cndevforum/subject_view.asp?subject_id=107450&forum_id=

能否再指点点,或者有示例性的代码?感激不尽。
szchengyu 2004-09-15
  • 打赏
  • 举报
回复
代码在上面的贴子里,接收和发送都是单独的线程
DentistryDoctor 2004-09-15
  • 打赏
  • 举报
回复
可否看看你的代码?
taol 2004-09-15
  • 打赏
  • 举报
回复
把数据包的接收用一个独立的线程处理。
rainsly 2004-09-13
  • 打赏
  • 举报
回复
另开个工作线程接收数据
注意验证数据的有效性
bbcharm 2004-09-13
  • 打赏
  • 举报
回复
这个没关系的
你的 采集用的什么 作的阿
应该不会出现这个问题 除非 你采集的时候 根你的窗口有关
szchengyu 2004-09-11
  • 打赏
  • 举报
回复
我想来想去,觉得应该跟发送和接收时对包的处理不当,
关键是帧的分隔和组合(一帧图像可能被分成不等的包);

请谈点经验,或给个例子,谢谢
szchengyu 2004-09-02
  • 打赏
  • 举报
回复
to awjx(啦啦啦) 先生:

发送端不是控制台程序,只有三个控件:两个 Button (Start, Stop),一个 Static 用于显示状态。

所有事件只有如下;

这三个是系统产生的,没改过:
OnSysCommand(UINT nID, LPARAM lParam);
OnPaint();
OnQueryDragIcon();

这里是初始化和反初始化:
OnInitDialog();
OnDestroy();

这是启动和停止线程:
OnBtnStart();
OnBtnStop();
awjx 2004-09-02
  • 打赏
  • 举报
回复
发送端如果是控制台程序则是正常现像,
如果不是则检查所有控件的事件

4,387

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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