QQ的代理通信机制 当聊天的双方都是通过代理服务上网的话,他们之间是个什么样的通信机制???还有一种类似代理的上网方式,就是通过网关和DNS服务,这种情况下又是用的什么机制,请高手指教!!!谢谢!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Server S (219.237.60.1) | | +----------------------+----------------------+ | | NAT A (外网IP:202.187.45.3) NAT B (外网IP:187.34.1.56) | (内网IP:192.168.0.1) | (内网IP:192.168.0.1) | |Client A (192.168.0.20:4000) Client B (192.168.0.10:40000) 首先,Client A登录服务器,NAT A为这次的Session分配了一个端口60000,那么Server S收到的Client A的地址是202.187.45.3:60000,这就是Client A的外网地址了。同样,Client B登录Server S,NAT B给此次Session分配的端口是40000,那么Server S收到的B的地址是187.34.1.56:40000。 此时,Client A与Client B都可以与Server S通信了。如果Client A此时想直接发送信息给Client B,那么他可以从Server S那儿获得B的公网地址187.34.1.56:40000。现在我们需要的是在NAT B上打一个方向为202.187.45.3(即Client A的外网地址)的洞,那么Client A发送到187.34.1.56:40000的信息,Client B就能收到了。这个打洞命令由谁来发呢,呵呵,当然是Server S。 总结一下这个过程:如果Client A想向Client B发送信息,那么Client A发送命令给Server S,请求Server S命令Client B向Client A方向打洞。 呵呵,用Google更管用一点吧搜索 NAT、NATP 我说的客户断怎么来写,Client A发送的数据怎么来写,因为要通过代理向外发送,数据报里面肯定是很复杂的,有目标IP和代理服务器IP,比如ClientSocket.socket.sendtext(),发送的text怎么来组织,,,一直迷惑这个问题,大概的机制我也知道,,请高手指教啊 对于发送文件或视频,是两个QQ客户端其中一个作为客户端,另外一端作为服务器端机制直联的,两个QQ客户端发送信息,是通过腾讯服务器接受-〉转发机制。 delphi问题求助 如何让MDI子窗体在MDI主窗体的PANEL控件上显示 如何用delphi 调用 java的方法 ? 当StringGrid失去焦点时的单元格颜色会变深不好看,如何解决? 如何让控件在窗体中移动!(分数不是问题) StringList有什么用?怎么用?请举例 在次请求帮忙(需要原代码) 不酷不要钱,很酷也不要钱,绝对。。。。 五一长假,支持睡它七天七夜的请回帖!有分送! 如何实现修改本地计算机的IP地址? 一小段源码 大家帮忙看看 刚从 派出所 出来
Server S (219.237.60.1)
|
|
+----------------------+----------------------+
| |
NAT A (外网IP:202.187.45.3) NAT B (外网IP:187.34.1.56)
| (内网IP:192.168.0.1) | (内网IP:192.168.0.1)
| |
Client A (192.168.0.20:4000) Client B (192.168.0.10:40000)
首先,Client A登录服务器,NAT A为这次的Session分配了一个端口60000,那么Server S收到的Client A的地址是202.187.45.3:60000,这就是Client A的外网地址了。同样,Client B登录Server S,NAT B给此次Session分配的端口是40000,那么Server S收到的B的地址是187.34.1.56:40000。
此时,Client A与Client B都可以与Server S通信了。如果Client A此时想直接发送信息给Client B,那么他可以从Server S那儿获得B的公网地址187.34.1.56:40000。现在我们需要的是在NAT B上打一个方向为202.187.45.3(即Client A的外网地址)的洞,那么Client A发送到187.34.1.56:40000的信息,Client B就能收到了。这个打洞命令由谁来发呢,呵呵,当然是Server S。
总结一下这个过程:如果Client A想向Client B发送信息,那么Client A发送命令给Server S,请求Server S命令Client B向Client A方向打洞。
搜索 NAT、NATP