衷心感谢影子大侠对我不厌其烦的帮助,送200分不成敬意。还烦请在这里结束一下做公网与私网通讯的注意事项。比如,怎样才能让公网的机器连接局域网内的机器以及怎样才能让两个局域网的机器互联。

解决方案 »

  1.   

    第一个问题客户端和公网服务器怎么进行 连接.
    不管采用tcp还是udp协议,可以说都相当于局域网但是这个连接的发起人必须是在局域网发起连接公网,这样2便可以正常通讯
    如果公网连接局域网,这个上端路由器不知道要把消息发到那个局域网内的客户端,会丢弃,因此发起连接必须从局域网发起第2个问题两个局域网的机器互联。你是想问怎么实现点对点是吧
    我有1点成果还是公布出来吧
    准备:
    2个不再1台局域网内的机器 ,1台有固定ip的服务器操作:1.甲客户端连接服务器连接固定ip服务器 服务器记录他的ip和端口
    2.另一台乙服务器连接固定ip服务器  服务器记录他的ip和端口
    3这时,甲通过服务器获得乙的ip和端口连接乙,如果连接成功就可以点对点了条件:1,udp协议
    2,2台客户端的上端路由器都支持
    3,服务器的公网ip
    注:
    net转换就是点对点对客户端上端的路由器是有要求的,因此如果上端路由器都支持的话没问题,点对点,但是如果路由器有1方步支持的话只能走tcp来补救了.tcp不能实现点对点
    .说错了给我指出来,只是个人理解
      

  2.   

    升华:如果想只采用点对点,只有采用qq的办法,都走代理,2个客户端和代理,http,sockets5
    ,socket4代理连接,代理连接服务器,然后乙通过代理从服务器获得甲的代理服务ip,端口,然后乙通过代理连接甲的代理,甲的代理再连接甲,2个人的代理点对点,自然2个客户端就实现了点对点