【问题标题】:Make client listen to server让客户端监听服务器
【发布时间】:2016-06-25 13:34:41
【问题描述】:

如何实现一种机制,使我可以将数据从服务器发送到客户端?

我已经实现了一个 java 应用程序,其中客户端以特定频率侦听服务器中的 URL(服务器端使用 PHP 实现)。 客户端每 X 次打开连接并检查从服务器返回的 json 是否有更新。

我认为这不是一个好的约定,因为在这种方法中,客户端不断向服务器发送 HTTP 请求,因此服务器有太多的连接 - 超过 90% 的请求没有来自服务器的响应。

我的目标是减少从客户端到服务器的请求,所以我试图实现相同的东西,但按 REVERSE 顺序:每次服务器上有更新(服务器有一条消息对于客户端)它将它发送给客户端 - 客户端必须定期监听服务器以获取消息。

如何实现这样的机制?

有效吗?

如果不是,解决我的问题的最佳方法是什么?

我也用 Java 实现服务器端会更好吗?

【问题讨论】:

  • 正在研究实现 NodeJS,因为它比 php 套接字更好。
  • 套接字就是答案!检查@mikeb 的答案。您只需要在客户端上打开一个套接字并让它侦听来自您的服务器的传入请求。这有点向后实现,但在这种情况下,这似乎是您所需要的。

标签: java php server client listener


【解决方案1】:

您可以使用专门为此设计的 websocket:https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API

你可以做其他事情,但这可能是最简单的。

【讨论】:

  • 好的,谢谢,我试试,有没有更好的方法?我正在寻找最好的方法而不是最简单的方法。
  • 对,因此我推荐了旨在完全按照您想要的方式设计的方法。
【解决方案2】:

如何使用分布式消息传递库zeromq 中实现的发布者/订阅者模式。有可用于 php 和 java 的绑定。我最近在一个项目中使用了 zeromq,对其易用性和性能感到非常惊讶。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-17
    相关资源
    最近更新 更多