gpt4 book ai didi

java - 使用Java实现双向通信系统最有效、最好的方法是什么?

转载 作者:行者123 更新时间:2023-12-01 13:38:35 26 4
gpt4 key购买 nike

我的问题如下,我有两个服务器,我必须从两个服务器双向传输文件。传输由文件创建事件(在双方)触发。问题是一台服务器有公共(public)IP,而另一台服务器没有。

我已经实现了一个通过套接字发送文件的套接字客户端,以及一个接收并保存文件的套接字服务器。 (工作部分)

我的问题是:在服务器端发生文件系统事件后,如何保持套接字“Activity ”并向客户端发送一些数据? (服务器可以在不知道公网IP的情况下调用客户端吗?)

我可以通过套接字技术实现这一点还是应该采用其他技术(例如 RMI)?

最佳答案

我看到的问题并不是真正的实现问题。问题是你想让客户没有固定地址。如果你有固定IP的话,我想应该没有问题。正确的?正如您可能了解的那样,在没有地址的情况下调用计算机并不容易。

一种选择是使用中间解决方案,用能够刷新的 DNS 封装您的非固定 IP。您可以使用类似 dyndns 的服务获取一个域名,该域名实际上会将每个数据包重定向到真实IP。您的路由器必须进行相应配置,以便每次更改时刷新 dyndns 服务器的 IP。

另一个选择是使用 websockets范式现在是 HTML5 的一部分。这样,服务器就可以在客户端需要时推送内容到客户端。

上述所有解决方案在很大程度上取决于您的详细场景,无论如何我都不能保证我建议的是最好的解决方案。实际上,我强烈建议获得一个固定 IP,这比我描述的解决方案成本更低、更干净。

希望我有帮助!

关于java - 使用Java实现双向通信系统最有效、最好的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21040494/

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