我的问题如下,我有两个服务器,我必须从两个方向传输文件。传输由文件创建事件(在各自的一侧)触发。问题是一台服务器有一个公共IP,另一台没有。
我实现了一个通过套接字发送文件的套接字客户端,以及一个接收并保存它的套接字服务器。 (工作部分)
我的问题是:如何在服务器端发生文件系统事件后保持套接字“活动”并向客户端发送一些数据? (服务器可以在不知道公共IP的情况下调用客户端吗?)
我可以使用套接字技术实现这一目标,还是应该选择像RMI这样的其他东西?
答案 0 :(得分:1)
我看到的问题并不是真正的实施问题。问题是您希望保持客户端没有固定地址。如果您有固定的IP,我认为没有问题。对?您可能已经明白,没有地址就无法轻松调用计算机。
一个选项是使用中间解决方案,使用能够刷新的DNS包装非固定IP。您可以使用dyndns之类的服务来获取域名,该域名实际上会将每个数据包重定向到真实IP。您的路由器必须进行相应配置,以便在每次更改时刷新到dyndns服务器的IP。
另一种选择是使用现在属于HTML5的websockets范例。这样,服务器就可以随时推送内容到客户端。
以上所有解决方案在很大程度上取决于您的详细情况,但无论如何我无法保证我建议的是最佳解决方案。实际上,我强烈建议获得一个固定的IP,这个解决方案比我描述的解决方案更省钱,更清晰。
希望我帮忙!