php - 选择哪个Websocket服务器?

标签 php mysql websocket memcached

我正在 ZF2 中开发一个大型 PHP 应用程序,我需要在这个应用程序中进行实时交互,所以我选择了 websocket。 我有 PHP、Mysql、Memcached。我需要一个 websocket 服务器。什么是最好的选择。 我的 websocket 服务器的要求:

  • 支持 mysql、memcached 和 gearman
  • 支持https连接,很重要
  • 可选地支持 IE(但如果有松动的好处,这并不重要)
  • 可扩展

我的问题是从 PHP( Spanner )websocket 服务器或基于 Node.js(socket.io)的服务器中进行选择。 我应该选择哪个?

如果我使用 PHP,我可以使用 PHP 代码和 ZF2 函数,很容易开发,但我没有非 html5 浏览器支持(我这里有 ssl 支持吗?)

如果我使用 socket.io 我有所有的浏览器支持和回退,但在这里我需要重新编写所有函数(在 js 中)以与 mysql、memcached 等一起工作...

最佳答案

WaterSpout 服务器声称提供 WebSocket 或长轮询连接: https://github.com/chrisnetonline/WaterSpout-Server

所以这可能是一个适用于所有浏览器的解决方案。

所有解决方案都是可扩展的。问题是真的;您希望多快开始考虑扩展?您什么时候想垂直扩展并向您的服务器添加额外的资源?你什么时候想添加另一台服务器(水平扩展)并处理这些服务器之间的同步连接和状态信息?恕我直言,您将使用 PHP 解决方案更快地执行此操作。

如果您主要想用 PHP 编写代码并且希望保持简单,那么我建议您使用 hosted realtime service作为您的应用程序堆栈的一部分。

一些相关的帖子(我写的):

关于php - 选择哪个Websocket服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18889997/

相关文章:

php - 如何从数据库中选择日、周、月、年的信息?

php - 在不同页面上显示 SQL 表的更多信息

php - 使用 PDO,我如何确保 UPDATE 语句成功?

websocket - Raspberry Pi 上的 Tornado 使用 websockets 以及监控串口 Arduino 通信

c# - ASP.NET SignalR - 空闲时消耗的带宽

javascript - 在 PHP 的 where 子句中使用 span 文本

mysql - mysql Group concat 有最大限制吗?

mysql查询-语法错误-找不到原因

选择地区时,PHP 从数据库中填充数据

java - Spring websockets Broken pipe & client 没有收到消息