请教关于UDP打洞的题,成功通信的请进,顶者有分(调了很久,大家帮忙)
(1)客户A登录服务器 ,服务器向A返回所有的以登录用户列表(其中包含A)。
A同时用线程开始向服务器发送心跳包.每发送一次Sleep(200)
(2)客户B登录服务器,服务器向B返回所有的以登录用户列表(其中包含 A,B 用户)
B同时用线程开始向服务器发送心跳包.每发送一次Sleep(6000)
(3)B要与A通迅,向服务器发出A用户的相关信息,服务收到B的信息后根据其内容向A发送信息(此信息内容包含B的IP和端口号)
B同时用线程开始向A发送信息.每发送一次Sleep(200)
(4) A发到服务器发送的信息后根据其内容给循环向B发送信息每发一次Sleep(200)(打洞)
现在的问题是:
1 A接收B的信息错误,错误码为10054(远程主机强迫关闭一个连接);
2 B接收A的信息错误,错误码为10054(远程主机强迫关闭一个连接);
3 ***最重要的是想知道,在什么情况下A和B才能正常通信,出现10054错误是不是说明某个端口号
以过期? (可是以经发送了心跳包)
4. A 和 B 都向对方发信息应该在某一时间上同时到达,为什么这样也不通呢?
测试环境:
1. 服务器为一台 公网主机
2. 客户机为 同一局域网的两台机器 ,ADSL上网
如:一台IP为 192.168.1.115 一台为 192.168.1.118