【问题标题】:Best way of client server communication in Java [closed]Java中客户端服务器通信的最佳方式[关闭]
【发布时间】:2016-07-15 09:54:40
【问题描述】:

我正在构建一个应用程序,其要求是,有一个主服务器,它将向客户端服务器发送信号,基于此信号客户端执行某些操作并将响应发送回主服务器。这里只有一个主服务器,可以是多个客户端服务器。在给定时间,主服务器可以向多个客户端发送多个信号。 我目前计划使用两个端口在 Java 中使用套接字编程来做到这一点。让我知道实现这一目标的最佳方法吗?还有我们有什么好的现有 API 可以使用吗?

【问题讨论】:

  • 你听说过websockets吗?也许这不适合你,但似乎这是你想要的。

标签: java sockets networking network-programming client-server


【解决方案1】:

看看RMI:https://docs.oracle.com/javase/tutorial/rmi/如果你想要基于sockets/TCP/UDP/etc的东西,用Netty写东西可能是一个很好的解决方案->http://netty.io/(他们有有用的例子)。

如果计划的服务器和客户端之间的通信不复杂并且您不需要像 Netty 这样的库提供的所有这些东西,我还建议考虑使用纯 Java 套接字。

【讨论】:

  • 感谢 Mateusz 提供的详细信息。我想知道 Netty 和 RMI 是否是开源的?并且客户端和服务器之间的通信也将被安排。这里服务器是一个 Web 应用程序,但客户端不会基于 Web,它只是执行服务器所需的操作并返回详细信息,它可以是 Java 或 shell 中的脚本或任何东西.
  • Netty 是开源的,RMI 是在 Java EE 中构建的,因此您不必担心许可证问题。如果必须安排通信,则必须单独实施。我可以为此推荐Quartz(开源)。它有很多功能,但使用起来非常简单。无论该服务器是 Web 应用程序还是客户端,都是其他的。如果您提供适当的通信接口,这将不是问题。我使用 Netty 在 Java 服务器应用程序和许多其他用 Java、C 和 Python 编写的工作人员之间进行通信。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-17
  • 1970-01-01
相关资源
最近更新 更多