java - 连接两个客户端而不使用端口转发

标签 java networking connection port multiplayer

我想知道如何在不打开服务器端端口的情况下通过互联网连接两个客户端。如果这是不可能的,例如如何做? Skype 在说话的人之间建立联系? (直接向客户讲话)

有没有办法使用两个客户端都连接到的“主服务器”,然后直接连接在一起?

感谢您的每一个回答。

最佳答案

Skype 使用 super 节点的概念,代表两个客户端中继通信。 Skype用户目录是去中心化的,分布在网络中的 super 节点之间。

super 节点尝试让两端直接协商连接,但如果由于防火墙、NAT 等原因而无法实现,它们会代表两个或多个客户端中继流量。

关于java - 连接两个客户端而不使用端口转发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20825627/

相关文章:

android - 尝试检索位置修复时等待 'x' 时间量后如何切换提供商?

go - 检查网络连接

java - 用 Java 重用正在运行的进程 ||斯卡拉

java - 从SwingUtilities.InvokeLater调用中获取返回值?

java - 如何在kubernetes-client-java中创建Ingress Controller

linux - 通过 Internet 发送数据时使用哪些系统调用?

java - while(true) 与 socket.accept()

docker - 如何从Docker容器获取远程计算机的MAC地址

mysql - 如何从 NetBeans 连接到 MySQL

java - 如何用Java检测互联网连接速度?