【问题标题】:UDP Hole Punching (Java)UDP 打孔 (Java)
【发布时间】:2014-10-17 09:20:11
【问题描述】:

我已经尝试创建一个套接字聊天/文件传输应用程序好几个星期了。我花了几个小时在互联网上搜索一段关于 UDP 打孔的代码,但我还没有找到任何可行的或足够简单的东西供我使用。

我正在尝试让路由器 (NAT) 后面的两个客户端相互连接。我设法设置了一个共享两个客户端 IP 和端口的服务器,但我还没有设法真正启动连接。是否有任何我可以使用的源代码?

我找到了几个像 JStun 这样的 STUN/ICE/TURN 库,但是没有关于如何使用它们的文档。我需要 STUN 服务器来启动连接吗?我可以使用像 numb.viagenie.ca 或 http://www.stunserver.org/ 这样的公共的吗?

任何答案将不胜感激。谢谢!

编辑:我有更多的探索,我发现即使通过 PHP 也很容易制作 STUN。我已经建立了自己的 PHP stun,它只共享两个客户端数据。困难的部分是连接两个客户端,但这使用了一种叫做 ICE 的东西。感谢在 cmets 中发布 this 的 selbie。这让我在 ICE 上走上了正轨。如果有人提出其他问题,我会将这个问题留待更长时间。我将开始编写我自己的 ICE 代码,或者尝试在网上寻找一些东西。谢谢!

【问题讨论】:

标签: java sockets udp stun hole-punching


【解决方案1】:

可以在此处找到纯 Java 中的 UDP 打孔示例: https://github.com/lklacar/java-hole-punching

不再维护,但这里是 STUN 过程等的框架: https://github.com/htwg/UCE

我已经尝试让 UDP Hole Punching 与 Java 客户端和 PHP 服务器一起工作,但还不能让它工作。 如果你有,你可以与我们分享并回答以下问题: Java-Client PHP-Server UDP Hole Punching example code

【讨论】:

    猜你喜欢
    • 2015-01-23
    • 2012-04-11
    • 2011-06-14
    • 2019-04-11
    • 2012-11-30
    • 2019-01-13
    • 2011-06-05
    • 2013-01-29
    • 2012-02-26
    相关资源
    最近更新 更多