• 注册
  • 程序猿 程序猿 关注:0 内容:12

    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扩展);

      请登录之后再进行评论

      登录
    • 到底部
    • 实时动态
    • 换皮肤
    • 帖子间隔 侧栏位置:
      版权所有©(2022)ShenLin.ink All Rights Reserved. 粤ICP备2024205822号