我现在用INDY开发一个类QQ的即时通信软件,现在客户之间发信息是通过服务器中转,我想不通过服务器中转,客户之间直接连结发信息,请问如何解决?

解决方案 »

  1.   

    //情况它是这样的:内网客户端C登录到公网服务端S:C--->GateWay(NAT)---S,这时服务器用下面这句话:
           //IdUdpServer-->DataRead中: Abinding.PeerIP,Abinding.PeerPORT,即为C的公网IP及PORT(经过NAT后的地址),这个地址就可以告诉他的好友,并可进行聊天了.
         //很简单,是不?服务器的作用是取客户端的IP地址,登录验证,取数据等.当然P2P之间需要先互发数据(打洞)才有可能通信成功.