Websocket 可以接收来自 ajax 的数据吗?
Posted
技术标签:
【中文标题】Websocket 可以接收来自 ajax 的数据吗?【英文标题】:Can Websocket able to receive data from ajax? 【发布时间】:2014-10-31 15:36:41 【问题描述】:我正在尝试构建一个 php 和 html5 websocket 聊天系统,其中一端是套接字,另一端是 ajax。 PHP 的 socket_recv() 函数是否可以从 ajax/mysql 或任何其他来源(不是通过“send”方法或套接字发送的)接收数据?
** 我们希望在 ajax 中有一个端点,因为所有浏览器特别是 IE 仍然不支持 websocket。
请帮忙。
【问题讨论】:
【参考方案1】:如果您不打算在客户端使用 WebSocket,那么您也不需要在服务器端使用它们。 (事实上,你不能使用它们,除非双方都支持它们。) AJAX 创建正常的 HTTP 请求;您可以像处理 PHP 中的任何其他请求一样处理它们。
另外,至关重要的是:PHP socket_
函数是原始 TCP/UDP 套接字,不是 WebSocket。 WebSocket 协议比它们直接支持的要复杂得多。 PHP 套接字可以在实现 WebSockets 的过程中使用,但最好使用像Ratchet 这样的库,它已经为您完成了繁重的工作。
【讨论】:
Ratchet 也使用 websocket,所以在 IE 中无法使用。如果 Websocket 一端不支持,我打算在两端使用 ajax(长轮询) @RejoanulAlam Ratchet 支持 web-socket-js,它是旧浏览器的 polyfill。你可以在这里找到更多信息:socketo.me/docs/flash以上是关于Websocket 可以接收来自 ajax 的数据吗?的主要内容,如果未能解决你的问题,请参考以下文章
websocket client怎样维持心跳,有没有具体的栗子