workerman开发者必须知道的几个问题

这篇具有很好参考价值的文章主要介绍了workerman开发者必须知道的几个问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、windows环境限制

windows系统下workerman单个进程仅支持200+个连接。
windows系统下无法使用count参数设置多进程。
windows系统下无法使用status、stop、reload、restart等命令。
windows系统下无法守护进程,cmd窗口关掉后服务即停止。
windows系统下无法在一个文件中初始化多个监听。
linux系统无上面的限制,建议正式环境用linux系统,开发环境可以选择用windows系统。

2、workerman不依赖apache或者nginx

workerman本身已经是一个类似apache/nginx的容器,只要PHP环境OK workerman就可以运行。

3、workerman是命令行启动的

启动方式类似apache使用命令启动(一般网页空间无法使用workerman)。启动界面类似下面

workerman开发者必须知道的几个问题

4、长连接必须加心跳

长连接必须加心跳,长连接必须加心跳,长连接必须加心跳,重要的话说三遍。
长连接长时间不通讯会被路由节点清理导致连接关闭。
workerman心跳说明、 gatewayWorker心跳说明

5、客户端和服务端协议一定要对应才能通讯

这个是开发者非常常见的问题。例如客户端是用websocket协议,服务端必须也是websocket协议(服务端new Worker('websocket://0.0.0.0...'))才能连得上,才能通讯。
不要尝试在浏览器地址栏访问websocket协议端口,不要尝试用webscoket协议访问裸tcp协议端口,协议一定要对应。

这里的原理类似如果你要和英国人交流,那么要使用英语。如果要和日本人交流,那么要使用日语。这里的语言就类似与通许协议,双方(客户端和服务端)必须使用相同的语言才能交流,否则无法通讯。

6、连接失败可能的原因

刚开始使用workerman时很常见的一个问题是客户端连接服务端失败。 原因一般如下:
1、服务器防火墙(包括云服务器安全组)阻止了连接 (50%几率是这个)
2、客户端和服务端使用的协议不一致 (30%几率)
3、ip或者端口写错了 (15%的几率)
4、服务端没启动

7、不要使用exit die sleep语句

业务执行exit die语句会导致进程退出,并显示WORKER EXIT UNEXPECTED错误。当然,进程退出了会立刻重启一个新的进程继续服务。如果需要返回,可以调用return。sleep语句会让进程睡眠,睡眠过程中不会执行任何业务,框架也会停止运行,会导致该进程的所有客户端请求都无法处理。

8、不要使用pcntl_fork函数

pcntl_fork用来动态创建新的进程,如果在业务代码中使用pcntl_fork,它可能会产生无法回收孤儿进程,导致业务出现异常。业务中pcntl_fork还会影响连接、消息、连接关闭、定时器等事件的处理,导致不可预知的异常。

9、业务代码里不要有死循环

业务代码里不要有死循环,否则会导致控制权无法交还给workerman框架,导致无法接收处理其它客户端消息。

10、改代码要重启

workerman是常驻内存的框架,改代码要重启workerman才能看到新代码的效果。

11、长连接应用建议用GatewayWorker框架

很多开发者使用workerman是要开发长连接应用,例如即时通讯、物联网等,长连接应用建议直接使用GatewayWorker框架,它专门在workerman的基础上再次封装,做起长连接应用后台更简单、更易用。

12、支持更高并发
如果业务并发连接数超过1000同时在线,请务必优化linux内核,并安装event扩展。

 文章来源地址https://www.toymoban.com/news/detail-426418.html

到了这里,关于workerman开发者必须知道的几个问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android开发者必须收藏的8个开源库,Android开发面试技能介绍

    听过很多人说Android学习很简单,做个App就上手了,工作机会多,毕业后也比较容易找工作。这种观点可能是很多Android开发者最开始入行的原因之一。 在工作初期,工作主要是按照业务需求实现App页面的功能,按照设计师的设计稿实现页面的效果。 在实现的过程中,总是会被

    2024年03月19日
    浏览(80)
  • 答疑解惑:开发者必须彻底搞懂的 SSL/TLS 协议

    本期答疑解惑将和大家一起认识SSL/TLS 协议。请尝试回答以下几个问题: 使用浏览器访问https网站和http网站有什么不同? SSL协议作用于网络模型的哪一层? 你知道CSDN,博客园正在使用的是什么类型的SSL证书吗? SSL,TLS, mTLS之间是什么关系? 非对称加密算法是数学家们创造

    2024年02月03日
    浏览(40)
  • 开发者的商业智慧:产品立项策划你知道多少?

    在研发一款优秀的产品时,从想法的萌芽开始便是必不可少的。因此,做好产品立项策划的工作显得尤为重要。以下以开发一款智能手环作为案例,探讨产品立项策划的流程,便于套用在其他产品上,如智能家居系统 、个人安全警报器等,供读者参考,文章比较全面,详细的

    2024年02月09日
    浏览(45)
  • 全靠这份Java知识点PDF大全,Java开发者必须收藏的8个开源库

    自我介绍 项目中的监控:那个监控指标常见的有哪些? 微服务涉及到的技术以及需要注意的问题有哪些? 注册中心你了解了哪些? consul 的可靠性你了解吗? consul 的机制你有没有具体深入过?有没有和其他的注册中心对比过? 项目用 Spring 比较多,有没有了解 Spring 的原理

    2024年03月23日
    浏览(45)
  • 开发者,你知道IaaS,PaaS,SaaS是什么吗?

    👨‍💻作者:大二计算机学生小周 🏠主页:关注小周 📌关键: IaaS PaaS SaaS 🔗友链:了解云计算的概念 本文将学习 IaaS, PaaS, SaaS 到底是什么,让你理解这些热词。 🪄 友情提示: 如果你对云计算的概念不清晰的话,建议你去文章开始处的链接,先了解云计算的概念,再读

    2024年02月03日
    浏览(76)
  • OpenCV学堂 | CV开发者必须懂的9种距离度量方法,内含欧氏距离、切比雪夫距离等(建议收藏)

    本文来源公众号“ OpenCV学堂 ”,仅用于学术分享,侵权删,干货满满。 原文链接:CV开发者必须懂的9种距离度量方法,内含欧氏距离、切比雪夫距离等 在数据挖掘中,我们经常需要计算样本之间的相似度,通常的做法是计算样本之间的距离。在本文中,数据科学家 Maarten

    2024年02月20日
    浏览(43)
  • 十三、Linux中必须知道的几个快捷键!!!

    当某些代码正在运行时,你想让其停止,只需要按下如下快捷键即可: 【CTRL】+【C】 示例: Linux系统自带python3解释器,当你进入python3解释器之后,需要退出时,只需要按下: 【CTRL】+【D】 示例: history和grep的联合使用: (1)语法:!+ (2)筛选方式:从下

    2024年02月12日
    浏览(48)
  • 【大数据】大数据运维学习前必须知道的几个常识(1),附架构师必备技术详解

    如果我们选择了强一致性,又要满足分区容错性,就势必会牺牲一部分可用性。 注意: CAP理论只适用于分布式系统 CAP理论的典型分布式系统 选择CP: HBASE 选择 AP: zookeeper,HDFS 选择CA: elasticsearch 大数据技术栈 数据采集和传输层: flume. logstash, sqoop,kafka,pulsar,HUE 数据存储层

    2024年04月15日
    浏览(44)
  • 微软商店常见的几个问题

    我们使用win系统,如果想注册微软账号,下载一些官方应用,就不可避免的要用微软商店,但我也曾经因此遇见过很多问题,现在为大家提供一下这些问题的一站式解决方案。 初步判断为windows的网络连接问题,会造成微软商店无法连接,账号无法同步 可以检查一下自己是不

    2024年02月04日
    浏览(46)
  • copilot的几个问题解决

    copilot是微软自带的,很多人在打开时会发现,自带的这个无法连接 看到了csdn友  有的说改语言和区域啥的,试过了,对我无效 copilot提示:很抱歉,目前无法连接到服务。请稍后重试或刷新 的解决方案_copilot无法连接到服务-CSDN博客 因此我选择直接在edge浏览器上使用,在这

    2024年04月27日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包