gpt4 book ai didi

java - 如何使用服务器重定向客户端以直接相互连接

转载 作者:太空宇宙 更新时间:2023-11-04 06:27:01 25 4
gpt4 key购买 nike

我希望能够将(java)客户端相互连接,而无需在路由器中打开端口或在本地网络上进行转发。我想模仿 webtrc 的行为但在java中,使用服务器来发送信号。服务器必须从想要相互连接的两个客户端接收 session key ,将第一个客户端 key 发送到第二个客户端,反之亦然。发出信号后,两个客户端都可以使用此 key 相互连接,并且数据包将通过路由器找到路径,而无需打开端口和转发。

我们的目标是建立一个框架,以便能够编写不需要具有巨大带宽的服务器的应用程序,该服务器可以从一个客户端读取并向另一个客户端写入,对于每对想要相互发送数据的客户端。我所要求的只是可以实现的指导方针。

TLDR:我希望能够在公共(public)服务器的帮助下直接连接两个完全不同网络中的两个客户端,并且无需为客户端进行任何路由器配置。

最佳答案

这种技术称为打洞

“打洞是一种计算机网络技术,用于在位于限制性防火墙后面的不同组织中的两方之间建立通信。用于在线游戏、P2P 和 VoIP 等应用程序,两个客户端都与不受限制的第三方服务器建立连接,该服务器为它们揭示外部和内部地址信息。由于每个客户端都向服务器发起请求,因此服务器知道为该 session 分配的 IP 地址和端口号,并且彼此共享这些信息。”来自维基百科

也看看这个answer

关于java - 如何使用服务器重定向客户端以直接相互连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26659912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com