1

在互联网上花了几个小时寻找有关 Web 应用程序的推送通知系统后,我有了一些结论,也对它感到好奇..

当我们在寻找这种通知技术时,我们会一遍又一遍地看到“websocket”术语。特别是在这个 HTML 5 时代。

但是,看到这个演示后:http ://www.websocket.org/echo.html

我刚刚意识到的一件事是:websocket 会将通知从一个浏览器推送到另一个浏览器。这里不涉及数据库。

如果就我而言,我有一个由 Linux 守护程序(不是 Web 浏览器)定期插入的数据库,但我希望它被推送到客户端的 Web 浏览器,该怎么办?如何用 websocket 做到这一点?或者这是 websocket 技术的局限性?如果是这样,我的情况有什么解决方案吗?

谢谢。

4

1 回答 1

2

这取决于您用来处理 websocket 请求的服务器。您将需要开发服务器以检查/推送数据库更新到客户端。

What if, in my case, I have a database regularly inserted by Linux Daemon (not a web browser) but I want it to be pushed to client's web browser? how to do that with websocket?

你不能用 websockets 来做这件事;javascript websockets 是客户端实现。你需要在你的服务器上处理这个问题(也许让插入守护进程向服务器应用程序发送一个信号,或者让服务器代码定期检查数据库的更新)。

你可能想玩一些mod_pywebsocket来给你一些想法。另请参阅为什么我们需要网络套接字?帮助您了解 websocket 的真正含义。

Websockets 只是与服务器的开放连接。这有点像打电话给某人并让他们说“请稍等”。连接是开放的,但是一旦他们有话要和你谈谈,而不是必须先拨打你的电话然后等待你接听,他们只需拿起听筒并开始交谈。websockets也是如此;一旦服务器准备好数据,我只需将其发送给客户端(反之亦然)。这避免了对服务器进行大量 AJAX 调用。

所以 websockets 可以做任何事情;限制不是连接,而是您对客户端和服务器进行编程的程度。

于 2012-08-12T19:10:13.100 回答