从 Linux 守护程序插入到客户端 Web 浏览器的 MySQL 数据的推送通知系统

Posted

技术标签:

【中文标题】从 Linux 守护程序插入到客户端 Web 浏览器的 MySQL 数据的推送通知系统【英文标题】:Push Notification System For MySQL Data Inserted From Linux Daemon To Client's Web Browser 【发布时间】:2012-08-12 18:51:15 【问题描述】:

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

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

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

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

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

谢谢。

【问题讨论】:

【参考方案1】:

这取决于您用来处理 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 一起玩,给您一些想法。另请参阅 Why do we need web-sockets? 以帮助您了解 websocket 的真正含义。

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

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

【讨论】:

好点,兄弟!它真的让我清楚这个 websocket 是如何工作的。谢谢!!

以上是关于从 Linux 守护程序插入到客户端 Web 浏览器的 MySQL 数据的推送通知系统的主要内容,如果未能解决你的问题,请参考以下文章

web服务器 Nginx

是否可以使用 Cygwin 或 MinGW 将 Linux 守护程序移植到 Windows?

Django从入门到放弃

UNIX网络编程

从客户端 Web 浏览器与串行端口通信。

编写我的 linux 守护进程的首选方法是啥?