| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3756 人关注过本帖
标题:UDP 本机通讯是否会丢包
只看楼主 加入收藏
邵帅
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:20
帖 子:174
专家分:505
注 册:2012-8-27
结帖率:78.26%
收藏
已结贴  问题点数:20 回复次数:8 
UDP 本机通讯是否会丢包
UDP 本机通讯是否会丢包
本机通讯走的是环回地址,即走的这样的路线应用程序->传输层->网络层----网络层->传输层->应用程序。数据的处理都是发生在本地计算机的内存中,因此我认为不会产生丢包,不知道是否正确?
搜索更多相关主题的帖子: 计算机 应用程序 网络 
2014-08-23 08:40
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4938
专家分:30047
注 册:2008-10-15
收藏
得分:20 
按我的理解来说, 本地环回是不会丢包的。

你是测试程序的 UDP 吗?

授人于鱼,不如授人于渔
早已停用QQ了
2014-08-24 09:52
邵帅
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:20
帖 子:174
专家分:505
注 册:2012-8-27
收藏
得分:0 
向通过UDP进行进程间的可靠通讯。

Figure out what you like. Try to become the best in the world of it.
2014-08-25 09:41
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4938
专家分:30047
注 册:2008-10-15
收藏
得分:0 
进程间的可靠通讯。
老老实实使用 TCP 连接吧。
最少TCP连接,可以检测状态,而 UDP 就不行。

TCP 点对点,可以使用这种的方案:首先运行的那个程序进入服务器模式。
后面运行的程序为客户端模式,通过服务器进行编号。有客户端关闭时,都发消息给所有的所有客户端。每个客户端保存一份编号。
当服务器被关闭时,客户端最小的 进入服务器模式。然后每个客户端重新连接服务器端,并注册自己的编号。

或者 专门写一个 服务端。每个启动的进程,寻找一下,如果没有发现服务端,就运行一个服务端。然后连接服务端。
服务端写成 只允许运行一个。当服务器端被中止时,进程自动寻找一下,如果没找到,运行一个。

授人于鱼,不如授人于渔
早已停用QQ了
2014-08-25 11:56
xzlxzlxzl
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖北
等 级:贵宾
威 望:125
帖 子:1091
专家分:5825
注 册:2014-5-3
收藏
得分:0 
进程间通讯貌似DDE挺方便的,不需要socket。
2014-08-25 16:38
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4938
专家分:30047
注 册:2008-10-15
收藏
得分:0 
使用 TCP ,主要的原因是要 随时检测另一个进程是否存在。
Tcp有 状态可以供检测。而 DDE 只是通讯。没有状态可供判断。

授人于鱼,不如授人于渔
早已停用QQ了
2014-08-25 21:06
邵帅
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:20
帖 子:174
专家分:505
注 册:2012-8-27
收藏
得分:0 
回复 6 楼 风吹过 b
进程间通讯的确有多种方法。选择socket是因为应用场合为终端服务器下不同用户的不同进程进行数据交换。发现DDE和内存映射等都不能实现。

Figure out what you like. Try to become the best in the world of it.
2014-08-27 17:44
邵帅
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:20
帖 子:174
专家分:505
注 册:2012-8-27
收藏
得分:0 
回复 4 楼 风吹过 b
多谢指导。

Figure out what you like. Try to become the best in the world of it.
2014-08-27 17:44
xzlxzlxzl
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖北
等 级:贵宾
威 望:125
帖 子:1091
专家分:5825
注 册:2014-5-3
收藏
得分:0 
无论是tcp还是udp、本地还是远程的,在不doevents延时的情况下,都会产生丢包现象(比如你连续传送8k字节以上的数据,你会发现接收端的数据有错),估计vb的winsocket控件使用的是异步响应机制,不是阻塞响应机制,我通常的解决方法是在传送大量(小于8K)数据后最后再传送一个32位校验数据给接收方校验,如果接收方回传校验正确再继续传送下一段,否则重新传送(好好像tcp的机制哦)
2014-08-28 22:03
快速回复:UDP 本机通讯是否会丢包
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014681 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved