首页 新闻 会员 周边

socket通信延迟数分钟,可能是什么原因

0
悬赏园豆:100 [已关闭问题] 关闭于 2016-12-01 09:16

两个工具用socket通信,一个c++(比较大的软件),一个c#(小工具),发现运行时间越长,延迟居然达数分钟(一般是分钟的整数倍),这可能是什么问题造成的?

下面是自编的一个捕获程序分析的,

recv是接收时的本地时间,
send是TCP报文的时间
sign是数据产生及发送的时间,从报文数据里解析的
很有规律的是:两个sign同时发送,就会增加延时
len=237,recv=10:25:01.980,send=10:25:01,49864->11009:sign=10:22:49.0
len=233,recv=10:26:02.77,send=10:26:02,49864->11009:sign=10:22:49.0
len=238,recv=10:29:03.84,send=10:29:02,49864->11009:sign=10:25:02.0
len=234,recv=10:30:03.86,send=10:30:02,49864->11009:sign=10:25:02.0
len=237,recv=10:45:04.101,send=10:45:03,49864->11009:sign=10:41:11.0
len=234,recv=10:49:04.218,send=10:49:04,49864->11009:sign=10:45:03.0
len=237,recv=10:50:05.227,send=10:50:04,49864->11009:sign=10:45:03.0
len=233,recv=10:51:05.232,send=10:51:04,49864->11009:sign=10:45:03.0
len=231,recv=11:09:48.261,send=11:09:47,49864->11009:sign=11:03:46.0
len=234,recv=11:26:03.319,send=11:26:03,49864->11009:sign=11:20:02.0
len=234,recv=11:27:03.323,send=11:27:03,49864->11009:sign=11:20:02.0
len=237,recv=11:35:17.347,send=11:35:17,49864->11009:sign=11:29:15.0
len=233,recv=11:36:17.349,send=11:36:17,49864->11009:sign=11:29:15.0
len=237,recv=13:40:50.673,send=13:40:49,50505->11009:sign=13:40:50.0
len=237,recv=13:41:50.669,send=13:41:49,50505->11009:sign=13:40:50.0
len=236,recv=13:45:51.660,send=13:45:50,50505->11009:sign=13:45:03.0
len=238,recv=13:46:51.662,send=13:46:50,50505->11009:sign=13:45:52.0
len=232,recv=13:50:01.670,send=13:50:00,50505->11009:sign=13:49:49.0
len=232,recv=13:51:01.678,send=13:51:00,50505->11009:sign=13:49:49.0
len=237,recv=13:52:01.680,send=13:52:00,50505->11009:sign=13:50:01.0
len=237,recv=13:53:01.683,send=13:53:01,50505->11009:sign=13:50:01.0
len=235,recv=14:02:24.705,send=14:02:24,50505->11009:sign=13:59:24.0
len=231,recv=14:06:40.753,send=14:06:40,50505->11009:sign=14:03:40.0
len=234,recv=14:23:23.786,send=14:23:22,50505->11009:sign=14:20:23.0
len=237,recv=14:24:23.790,send=14:24:22,50505->11009:sign=14:20:23.0
len=236,recv=14:29:42.776,send=14:29:42,50505->11009:sign=14:25:42.0
len=232,recv=14:42:54.835,send=14:42:53,50505->11009:sign=14:38:54.0
len=238,recv=14:48:01.847,send=14:48:01,50505->11009:sign=14:45:01.0
len=234,recv=14:49:01.850,send=14:49:01,50505->11009:sign=14:45:01.0
len=232,recv=15:17:01.888,send=15:17:01,50505->11009:sign=15:13:58.0
len=238,recv=15:18:01.890,send=15:18:01,50505->11009:sign=15:14:02.0
11ge的主页 11ge | 初学一级 | 园豆:11
提问于:2015-03-26 16:43
< >
分享
所有回答(3)
0

11009是什么数据?发送一个数据用的时候吗???还有那个时间毫秒数为0是不是因为你用的那个时间实例本来就没有毫秒数哦。反正我知道http请求返回的时候是没有毫秒数的。

angelshelter | 园豆:9887 (大侠五级) | 2015-03-27 10:18

50505->11009是双方端口

支持(0) 反对(0) 11ge | 园豆:11 (初学一级) | 2015-03-31 09:52

@11ge: 那应该是时间精度的问题,只精确到了秒。

支持(0) 反对(0) angelshelter | 园豆:9887 (大侠五级) | 2015-04-01 09:43
0

侦听端口吧,先看发的时候有没有及时发,然后看收的时候有没有及时收。

Firen | 园豆:5385 (大侠五级) | 2015-03-27 15:32
0

非socket问题

11ge | 园豆:11 (初学一级) | 2015-11-25 16:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册