一个非常简单的 WebSocket 服务器
Posted
技术标签:
【中文标题】一个非常简单的 WebSocket 服务器【英文标题】:A really simple WebSocket server 【发布时间】:2011-09-12 07:21:31 【问题描述】:有人知道同时支持75和76的简单WebSocket服务器吗?
我曾经使用 phpwebsocket(我有一点 php 经验),直到 Chrome 自己更新并搞砸了一切。
我真正需要的只是一个服务器,它将发送给它的消息回显到所有其他连接。最好是用php写的,不过真的没关系,只是我不能用node.js的方案。
【问题讨论】:
如果您不想担心您正在使用的实时基础架构,那么您可能需要调查hosted realtime web solutions。他们消除了使用一种技术的痛苦,虽然现在非常稳定,但仍然可以改变 - WebSockets,维护和更新任何解决方案,还可以帮助您处理扩展以满足需求。 就我个人而言,我觉得创建一个自定义的效果最好,因为您可以根据自己的意愿扩展它。 【参考方案1】:如果你真的想要 PHP 并支持 WebSockets Hixie 75/76,那么phpwebsocket
但是,我建议您确实需要 Hixie 75/76 支持以及 HyBi (07, 08, 13) 支持。 Chrome 14 及更高版本仅支持 HyBi。 Firefox 6 也是如此。Microsoft 为 Internet Explorer 提供的可下载 WebSocket 原型也仅支持 HyBi。
phpwebsocket 自 2010 年 11 月以来没有更新,并且没有任何 HyBi 支持。支持 Hixe 和 HyBi 协议的几个替代方案:
python: pywebsocket(http://code.google.com/p/pywebsocket/) C:http://git.warmcat.com/cgi-bin/cgit/libwebsockets/ c#:http://superwebsocket.codeplex.com/还有 PHP 代码 in this question 可能用于向 phpwebsocket 添加 HyBi 支持。
另外,你没有说为什么 node.js 不是一个选项。如果这是一个选项,那么Socket.IO 可能是您获得工作解决方案的最快途径,因为它提供了客户端 javascript 库(除了服务器之外),它具有会话管理示例/食谱,并且它具有自动回退到 long - 轮询不支持 WebSockets 的浏览器。
【讨论】:
【参考方案2】:http://code.google.com/p/pywebsocket/怎么样
需要 Python 经验
【讨论】:
【参考方案3】:Pywebsocket 已放弃对 hixie 的支持。
使用
--allow-draft75
与旧版浏览器兼容。
【讨论】:
以上是关于一个非常简单的 WebSocket 服务器的主要内容,如果未能解决你的问题,请参考以下文章