热点科技
标题:
[求助] 谁能介绍一下qq点对点功能的原理?
[打印本页]
作者:
tomcatjia
时间:
2007-2-3 11:59
提示:
作者被禁止或删除 内容自动屏蔽
作者:
angelkaka
时间:
2007-2-3 12:27
内网出去时,路由器一般会自动影射端口。
QQ传输一般使用的是UDP协议(可能会导致数据丢失,但是当前的网络现状下,代价也不大),主要是不需要所谓的握手协议,TCP则需要三次握手协议(目前而言,实现比较困难,主要是数据如果没有返回信息的话,就会断开链接)。
QQ的p2p的关键就是QQ登录服务器之后,发送登录信息,一般会包含自己的开放端口,服务器返回验证并且在服务器上保存端口信息(也就是一般而言的NAT信息),而且客户端一般也会开放固定的端口进行监听,QQ用的好像是443端口。当一个客户端要连接另外一个客户端的时候,服务器检索端口连接是否正常,正常的,直接让客户端之间通过UDP建立通道,否则通过服务器中转数据。
其中的最重要的就是服务器上面保存的端口信息(而且服务器地址一定是公网地址)。
作者:
pigpighui
时间:
2007-2-3 21:24
说的简单明了,似乎懂了一点了,谢谢阿!
既然这样,有没有这样一个软件,可以实现点对点互访?比如我在上面说到的想法(查看对方文件,桌面等)。
这样说,好像是个木马之类的了,不过的确有这样的需求阿...
作者:
dacla
时间:
2007-2-3 23:06
楼主是想玩远程监控吧??
呵呵。。QQ里的远程协助
或者试试放飞的鸽子!
作者:
WDD
时间:
2007-2-4 04:59
如2楼所讲,需要一个服务器来起一个桥梁的作用,在两个客户建立连接之前,由服务器通知客户端对方的IP地址,然后然后服务器通知被叫向发起方IP发送UDP来打洞,发起方就可以通过此洞来连接被叫方,同时在NAT上形成一个针对被叫方的洞,被叫方可以通过此洞来连接发起方。具体实现可能需要很复杂过程,但其实原理倒是很简单。
以上纯属个人理解,不见得正确,仅供参考。
作者:
0000006
时间:
2007-2-4 13:59
谢谢大家阿!
虽然木马阿,鸽子阿好像让人挺反感,但是从技术上讲确实让人佩服,我对怎么控制别人不感兴趣,我关心的是那些技术....
不过现在最要紧的是如何实现我在家里怎么控制我单位的机器,至于灰鸽子,好像至少也需要一端有外网ip吧!
欢迎光临 热点科技 (http://www.itheat.com/activity/)
Powered by Discuz! X3.2