阿里云

workerman近期学习总结

从3月5号至今,一直在学习中,包括workerman、Python和Django。在workerman方面做了一个简单的聊天室小例子。代码就不拿出来分享了,现在的代码太简单了。下面还是继续说workerman。以问答的情况说一下最近学习的情况。



问:Workerman是什么?

答:Workerman是一款纯PHP开发的开源高性能的PHP socket 服务框架。

问:Workerman能做什么?

答:即时通讯类、物联网类、游戏服务器类、SOA服务化、其它服务器软件、中间件等

问:Workerman有哪些特点?

答:极简、稳定、高性能、分布式。

问:Workerman的工作原理

答:Worker是WorkerMan中最基本容器,Worker可以开启多个进程监听端口并使用特定协议通讯,类似nginx监听某个端口。每个Worker进程独立运作,采用Epoll(需要装event扩展)+非阻塞IO,每个Worker进程都能上万的客户端连接,并处理这些连接上发来的数据。主进程为了保持稳定性,只负责监控子进程,不负责接收数据也不做任何业务逻辑。


这些都是来自手册上的知识,以下是在开发过程中总结的经验。


  1. windows上只能开一个进程,手册上有说明;

  2. 命令行模式启动服务;在代码中不要使用exit、die、sleep;

  3. 改代码之后要重启才能生效,必须重启;

  4. 连接时请保持端口一致;前端发送数据,使用对象格式;

  5. 后端返回数据,使用对象格式,前端需要转换;

  6. runAll之后的代码都不会生效,必须放在runAll()之前运行;

  7. 如果并发大于1000,请安装扩展(event或者libevent扩展);



喜欢就点个赞吧

发表评论

需要先登录,才能发表评论哦!登录

网友评论
暂无评论