java - 最好的 Java 支持的服务器/客户端协议(protocol)?

标签 java client-server protocols

我正在编写一个客户端/服务器应用程序,该应用程序应该基于消息工作。我希望尽可能地重用,而不是编写另一个实现并好奇其他人正在使用什么。

库应提供的功能:

  • 客户端和服务器端功能
  • 应该基于消息工作
  • 支持多线程
  • 应该在负载均衡器/防火墙后面工作

我用 HTTPCore 做了几次测试,但底线是必须同时实现客户端和服务器,仅覆盖传输层。由于网络相关的要求,RMI 也不是一个选项。

任何想法都将受到高度赞赏。

<小时/> 详情

我的想法是实现一个客户端/服务器包装器,它处理客户端通信(包括用户/密码验证)并将传入请求写入 JMS 队列:

#1  User --> Wrapper (Check for user/password) --> JMS --> "Server"
#2  User polls Wrapper which polls JMS

单独的进程将处理请求并可以通过包装器回复客户端。我想使用 JMS 因为:

  • 它可以很好地处理持久性
  • 负载平衡 - 通过添加额外的服务器作为消费者,可以轻松应对高峰
  • JMSTimeToLive 也派上用场

不幸的是,我没有找到一种单独使用 JMS 的方法,因为客户端只能访问它们的消息,并且在 JMS 端设置不同用户听起来也不可行。

最佳答案

嗯,就实现它的客户端和服务器代码而言,HTTP 可能是最好的支持 - 但根据您的要求,它很可能完全不合适。在我们真正为您提供正确建议之前,我们需要实际了解一些要求(或者至少对应用程序有一个模糊的了解)。

关于java - 最好的 Java 支持的服务器/客户端协议(protocol)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/451004/

相关文章:

python - 如何测试 python 类型协议(protocol)是另一个协议(protocol)的子类?

java - Java 中的客户端服务器聊天应用程序,无需广播

java - Mockito等待新线程的方法执行多次

java动态规划 “Climbing Stairs”,不懂逻辑

java - java中的对象和引用 - 解释答案

ruby-on-rails - Rails ActionCable 连接(服务器)与 NodeJs(客户端)

c# - 为什么在客户端拆分 TCP 消息不起作用?

protocols - 我应该使用重定向代码进行 geoip 语言重定向吗?

cocoa - 在 Swift 中实现协议(protocol)中定义的下标时出错

java - 如何将 XML 作为请求从 JSP 发送到 Servlet