【问题标题】:Future of Socket Programming and HTML5 WebSocket and REST Combined [closed]套接字编程和 HTML5 WebSocket 和 REST 结合的未来 [关闭]
【发布时间】:2014-08-14 06:23:20
【问题描述】:

我在 PHP 中创建了简单的 Socket Server,并用它制作了聊天应用程序。

套接字服务器在某个端口上工作,例如127.0.0.1:9999 所有客户端都通过该 IP:PORT 连接并与服务器握手并相互通信。

我的概念:

1) Browser => 通过 ( WebSocket ) 获取实时通知 2)User => 发表评论(想使用 REST 或简单的方式将评论保存在数据库中) 将我的帖子保存到数据库后,它应该广播给所有用户 GUI,没有任何 HTTP Request(仅通过 WebSocket)。

所以,我的问题是,当用户在我的WebSocketServer 中发表评论时如何处理第二部分。

【问题讨论】:

  • -1 也允许,但我需要来自建筑师的解决方案架构。
  • 您使用的是什么 REST 技术?
  • PHP 与 REST 技术

标签: html sockets architecture websocket phpwebsocket


【解决方案1】:

我猜你可能想到的是这样的:

Browser | +----> REST/HTTP ---> Web Server (REST) | | | (*) | | | v +-<--- WebSocket <--- WebSocket Server

浏览器做REST/HTTP请求,同时保持一个WebSocket连接接收实时通知。

浏览器向你的 Web/REST 服务器做 REST/CRUD 请求,当 REST 服务器执行 CRUD 操作时,它不仅响应请求者,还通过 WebSocket 向其他人发送通知。

有两个重要方面:

首先,WebSocket 是不够的,因为它只是原始的点对点消息传递)。您可能需要一些“发布和订阅”模式在 WebSocket 之上,以便对给定资源的 CRUD 操作只能向那些感兴趣并允许接收的浏览器/WebSocket 客户端发送通知相应资源的通知。

其次,根据您的 Web 服务器的技术,您希望 () 尽可能简单(例如,通过简单的 HTTP 请求 来自 执行 ()您的 Web 服务器 WebSocket 服务器)。

以上都提供,例如Crossbar.io:

  • Crossbar.io 是一个WAMP 路由器,WAMP(“Web 应用程序消息传递协议”)通过 WebSocket 提供“发布和订阅”功能。
  • Crossbar.io 有一个内置的 HTTP-to-WAMP 桥,允许您通过执行普通的旧 HTTP 请求进行发布。

有关示例,请参阅here

披露:我隶属于 WAMP 和 Crossbar.io。

【讨论】:

  • 请查看我更新的问题详情
  • 请注意,在上图中,通知通过WebSocket。只有 ( * ) 使用 HTTP。如果你想摆脱 ( * ),你需要一个可以原生运行 WebSocket 的 Web 服务器技术。
猜你喜欢
  • 2011-11-10
  • 1970-01-01
  • 1970-01-01
  • 2012-10-31
  • 1970-01-01
  • 2013-11-04
  • 2014-09-24
  • 2021-10-26
  • 2016-04-19
相关资源
最近更新 更多