前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >workerman近期学习总结

workerman近期学习总结

作者头像
申霖
发布2020-03-19 18:39:07
4190
发布2020-03-19 18:39:07
举报

从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扩展);
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-03-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档