QQ的代理通信机制

mmkill 2004-12-11 12:02:39
当聊天的双方都是通过代理服务上网的话,他们之间是个什么样的通信机制???
还有一种类似代理的上网方式,就是通过网关和DNS服务,这种情况下又是用的什么机制,
请高手指教!!!谢谢!!!
...全文
172 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
huiwww 2004-12-15
  • 打赏
  • 举报
回复
对于发送文件或视频,是两个QQ客户端其中一个作为客户端,另外一端作为服务器端机制直联的,两个QQ客户端发送信息,是通过腾讯服务器接受-〉转发机制。
huiwww 2004-12-15
  • 打赏
  • 举报
回复
客户端发给服务器端,然后服务器段发给另外的客户端,但是,对于发送文件,或者摄像头则QQ无能为力,但是反过来,如果一方客户端不是通过代理服务器连接时,该客户端向通过代理服务器发送视频请求,那么,他们可以建立视频通讯。如果通过代理服务器客户端一方向直接连上网的客户端则无法建立连接,因为此时直接连上网的客户端作为客户端无法找到通过代理服务器的客户端(此时作为服务器端),如果任何一方要建立的话,除非代理服务器作路由,虚拟转向客户端。
mmkill 2004-12-12
  • 打赏
  • 举报
回复
我说的客户断怎么来写,Client A发送的数据怎么来写,因为要通过代理向外发送,数据报里面肯定是很复杂的,有目标IP和代理服务器IP,比如ClientSocket.socket.sendtext(),发送的text怎么来组织,,,一直迷惑这个问题,大概的机制我也知道,,请高手指教啊
Jaxi_sky 2004-12-11
  • 打赏
  • 举报
回复
关注中。。。
Jurek 2004-12-11
  • 打赏
  • 举报
回复
有可能是通过数据库交互
qrlvls 2004-12-11
  • 打赏
  • 举报
回复
呵呵,用Google更管用一点吧
搜索 NAT、NATP
acuier 2004-12-11
  • 打赏
  • 举报
回复

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方向打洞。
Kevin_Lmx 2004-12-11
  • 打赏
  • 举报
回复
俺也想知道……
yw1621 2004-12-11
  • 打赏
  • 举报
回复
不会

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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