workerman-chat是一个以workerman作为服务器容器,使用PHP开发的基于Websocket协议的一个可分布式部署的聊天室框架。
workerman-chat采用gateway workers 进程模型。gateway只负责网络IO,全异步非阻塞,每个gateway进程都可以同时接受上万客户端连接。 workers采用的是PHP开发者所熟悉的同步模型,并提供了开发者基本的接口 onConnect、onMessage、onClose、sendToUid、sendToAll等方法。 开发者只要在onConnect、onMessage、onClose三个方法中添加上自己的业务逻辑即可,开发维护非常简单。
由于采用的是gateway workers 进程模型,gateway和workers之间是无状态的,gateway和workers可以分别部署在不同的物理机上,所以扩容和升级都非常方便。 workerman-chat也非常适合游戏后台开发。
使用PHP开发
PHP多进程
gateway workers进程模型
支持libevent事件轮询库,支持高并发
默认使用Websocket协议,更小带宽,更好性能
支持分布式部署,可横向扩容
客户端跨浏览器支持(需要浏览器支持html5或者flash)
同样非常适合游戏后台开发
服务启动界面:
Web界面:
说明: workerman- chat聊天逻辑很简单,全部逻辑不到200行代码(都在Event.php中),使用者可以根据自己的需要加入自己的一些功能如私聊、表情、群组等。