各位师兄:
  要研究关于JAVA解决NAT穿越防火墙以及解决多级代理方面的问题,想搜集一些资料。
希望能提供一些好资料,避免海量查询之苦,谢谢

解决方案 »

  1.   

    你要做什么?你可以使用UDP的方式进行连接和访问,尽量不要用TCP的方式。
      

  2.   

    为什么要用UDP呢?UDP的丢包率太大,而且从实时性上也无法保证我程序的需要。
      

  3.   

    到我的blog上找找吧,我翻译过一篇UDP/TCP打洞的文章!
    gloomyfish搜索一下就可以看到!
      

  4.   

    看文章太慢了UDP打洞就是欺骗
    当client和server的socket建立后server开一个子线程保持socket同时保存该client的NAT信息
    下一个client想要向别的client发消息就先到server那里同样注册连接
    并获取其它client的NAT信息,这样就可以直接向别的client发消息了因为server和接收端的socket一直保持,所以接收方NAT信息不变,同时接受方的NAT把
    别的client的消息认为是server发送过来的,NAT被欺骗了就成功建立P2P了于是就可以通信了,至于多层NAT需要考虑的是网络效率问题,不是原理问题
      

  5.   

    如果要成行的技术就看Jxta 是Sun推出的一个分布式计算平台,可以帮你实现NET穿透和Firewall穿透如果功能非常简单想自己实现的话,也没问题,我博客里有收集关于NAT穿透的原理的文章,连接给你留下,可以参考参考:
    http://blog.csdn.net/Ant_Yan/archive/2008/12/05/3450562.aspx
    说白了就是你主动连它无法穿越,要它主动请求跟你建立连接就穿越了,至于怎么让它主动连你,肯定是要借助第三方Server的