小的目前在为这个东西搞得烦心。现请教大家,如何用DatagramSocket实现点对点通信啊。特别是跨局域网的情况。即两台机器都在不同的局域网中,请高人指点。

解决方案 »

  1.   

    这种实现,是需要一个网关作中介的(比如:外网上的一个IP固定的主机)。
    这个中介的作用就是介绍双方认识,告诉对方:你的联系人在哪个IP,被映射到局域网网关的哪个端口(因为局域网的机器是通过自己的局域网网关上网的,所以内网的机器映射到外网上,就成了局域网网关的一个端口),然后双方才能握手通信。
      

  2.   

    这种技术被成为“udp 打洞”,你去www.google.com上搜索,大把的资料