在内网下QQ等为什么不用映射就可以通信?我看到有说只有外网IP才能通信的,应该是只能路由到外网吧?可是如果这样的话那那些c/s的软件在路由器组成的局域网再连接外网的情况下就别想用了啊,还要映射。可是我们用的这种软件却不用映射,用映射的只有灰鸽子那种远程控制木马,灰鸽子有什么不同?我看到有资料说灰鸽子是反向连接的,谁能具体给我说下?服务器端连接客户端?怎么连接?服务器端应该是监听一个端口接收连接的啊。服务器端的控制端是客户端,被控端是服务端,上线原理是通过类似DNS的东西获取控制端的IP,通过动态域名或者ftp。可是服务端是如何连接客户端的呢?

解决方案 »

  1.   

    QQ的连接过程应该是你登录QQ的时候连接QQ服务器,同时告知了QQ服务器你的IP,状态等等,然后会取得各好友的状态(在线与否),更新等。同理,如果好友在线的话就可以得到他的IP地址的。之后你如果想发送给一个在线好友信息的时候是直接连接好友而不通过QQ的服务器。如果你在线的时候另一位好友由不在线状态变成在线状态,这时候我想应该是QQ服务器推送给你的。所以如果你们在同一个局域网的话,应该不会路由到公网上去的。只有给不在线的好友发送信息的时候,才发送到QQ服务器并给你缓存起来,等到他上线的时候通知他。不过也有个类似最多保留多少条信息的限制。网络连接都是直接用IP地址+端口连接,区分的。服务器端确实在监听特定的端口。QQ应该是同时具有客户端和服务器端的功能的。
        
      

  2.   

    登录时先发IP到服务器,好友IP也是从服务器取得的,所以你不用关心IP的映射
      

  3.   

    QQ等登陆时就相当于给服务器发送了一个获取所有好友信息(包括好友IP)的指令,服务器根据你的IP和好友列表返回就是了。
      

  4.   

    你上qq的时候就把你的路由ip等信息发过去了服务往回发就可以联系你了啊
      

  5.   

    发送给一个在线好友信息的时候是直接连接好友而不通过QQ的服务器。原来是这样。那我和同学在局域网上传文件,速度达到有时10m。就是这个原因