我已经在PHP中创建了简单的套接字服务器并使用它制作聊天应用程序。
套接字服务器在某些端口上工作,例如127.0.0.1:9999所有客户端连接到该IP:PORT并握手到服务器并相互通信。
我概念:1) Browser
=> Get Real-time Notifications by (WebSocket)2) User
=> Post Comments(想要在数据库中保存评论,使用REST或简单)保存我的帖子到数据库后,它应该广播到所有用户GUI没有任何HTTP Request
(仅由WebSocket)。
所以,我的问题是关于,当用户在我的WebSocketServer
内发表评论时如何处理第二部分。
我猜你可能想到的是这样的:
Browser
|
+----> REST/HTTP ---> Web Server (REST)
| |
| (*)
| |
| v
+-<--- WebSocket <--- WebSocket Server
浏览器做REST/HTTP请求,同时维护一个WebSocket连接来接收实时通知。
浏览器向您的Web/REST服务器发出REST/CRUD请求,当REST服务器执行CRUD操作时,它不仅响应请求者,还通过WebSocket向其他请求者发送通知。
有两个重要的方面:
首先,WebSocket还不够,因为它只是原始的点对点消息传递)。你可能想要一些"发布"在WebSocket之上订阅"schema ",以便给定资源上的CRUD操作可以只向那些感兴趣并允许接收相应资源通知的浏览器/WebSocket客户端发送通知。
第二,根据你的Web服务器的技术,你想让()尽可能简单(例如,通过一个简单的HTTP请求从你的Web服务器到 WebSocket服务器)。以上两个都提供,例如Crossbar.io:
- 横梁。io是一个WAMP路由器,WAMP("Web应用消息传递协议")提供"发布&
- 横梁。io有一个内置的HTTP到wamp桥,允许你通过一个普通的HTTP请求来发布。
请看这里的例子
披露:本人隶属于WAMP和Crossbar.io.