在互联网上花了几个小时找到关于网络应用程序的推送通知系统后,我得到了一些结论和好奇心..
当我们正在寻找这种通知技术时,我们会一遍又一遍地看到'websocket'术语。特别是在这个HTML 5时代。
但是,看到这个演示后:http://www.websocket.org/echo.html
我刚刚意识到的一件事是:websocket会将通知从浏览器推送到另一个浏览器。这里没有涉及数据库。
如果在我的情况下,我有一个由Linux守护程序(不是Web浏览器)定期插入的数据库,但我希望将它推送到客户端的Web浏览器,该怎么办?如何用websocket做到这一点?或者这是websocket技术的限制?如果是的话,我的案子有什么解决方案吗?
感谢。
答案 0 :(得分: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一起玩,为您提供想法。另请参阅Why do we need web-sockets?以帮助您了解实际的websockets。
Websockets只是与服务器的开放连接。这有点像打电话给某人并让他们说“请抱着”。连接是开放的,但一旦他们有话要跟你说话,而不是必须拨打你的电话,然后等你回答,他们只是抬起接收器开始说话。所以它是websockets;一旦服务器准备好数据,我就把它发送到客户端(反之亦然)。这避免了必须对服务器进行大量的AJAX调用。
所以websockets可以做任何事情;限制不是连接,而是您对客户端和服务器的编程。