首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Java实现双向通信系统的最有效和最好的方法是什么?

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

Stack Overflow用户
提问于 2014-01-10 17:30:02
回答 1查看 246关注 0票数 0

我的问题如下,我有两台服务器,我必须从这两台服务器上双向传输文件。传输由文件创建事件触发(在各自的两端)。问题是一台服务器有公网IP,另一台没有。

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

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

我可以使用套接字技术来实现这一点吗?或者我应该使用其他东西,比如RMI?

EN

回答 1

Stack Overflow用户

发布于 2014-01-10 17:53:30

我看到的问题并不是真正的实现问题。问题是,您希望保留没有固定地址的客户端。如果你有一个固定的IP,我想不会有问题。对吗?正如您可能了解的那样,如果没有地址,没有简单的方法可以调用计算机。

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

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

以上所有解决方案在很大程度上取决于您的详细方案,我不能保证我的建议是最好的解决方案。实际上,我强烈建议获得一个固定的IP,这比我描述的解决方案要便宜得多,也更干净。

希望我能帮上忙!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21040494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档