gpt4 book ai didi

java - 连接两个客户端,无需服务器

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

我知道如何将客户端连接到世界各地的服务器!

如果您想获得快速代码来锻炼,请检查此链接: http://cs.lmu.edu/~ray/notes/javanetexamples/

我的问题是“如何在没有服务器的情况下连接两个客户端?”

服务器可能会监听客户端,但一旦它们连接上,我希望服务器退出交易,然后客户端可以直接对话。

我的服务器在美国,客户端 A 在欧洲,客户端 B 在亚洲。客户是普通用户,他们只是运行应用程序并与其他客户联系 - 这与具有洲际点对点连接的团队查看器类似。

再次请注意,我不想向服务器发送任何内容,也不希望它成为客户端之间的经销商。它将保持服务器始终监听新连接并防止其忙于在客户端之间传递数据。

请帮我解决这个问题。谢谢

最佳答案

我认为您的问题是客户端(假设它们是网络上的任何典型计算机)没有众所周知的 IP 地址。

要让两个客户端通话,其中一个实际上必须成为服务器。然而,诸如 NAT 和防火墙之类的东西会阻止典型计算机打开可供互联网上任何其他计算机使用的监听套接字。

您的问题有点像旧 FTP 协议(protocol)的“主动”模式,其中服务器连接回客户端。这种模式在现代世界中很难使用,因为服务器认为的客户端IP地址很可能是客户端私网NAT网关的IP地址,而客户端认为其IP地址将是私网IP地址。

关于java - 连接两个客户端,无需服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39658444/

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