
workerman
爱代码也爱生活
吸收别人的精华,记录自己走过的坑,爱好php、java、运维、web前端
展开
-
workerman定时任务使用
定时任务在有些场合很实用,像淘宝的自动确认收货就必须放在服务端进行,这时workeran的定时任务就派上用场了,它可以支持毫秒,crontab的粒度是一分钟 需要注意的是因为定时任务一直在执行,业务逻辑里太耗时的需要使用异步操作,如用AsyncTcpConnection异步创建个tcp连接,把耗时操作放在这个连接里面处理 可以在Applications/Chat/目录按规范新建个文原创 2016-07-18 23:23:19 · 6845 阅读 · 0 评论 -
workerman心跳检测原理
为什么需要心跳检测? 有些极端情况如客户端掉电、网络关闭、拔网线、路由故障等,这些极端情况都属于连接断开的情况,然而这些情况如果没有应用层的心跳检测,服务端是无法快速感知的。而服务端定时向客户端发送心跳数据可以解决这个问题。 心跳检测的原理是什么? 服务端向客户端发送心跳检测,客户端接收到心跳数据后,可以忽略不做任何处理,也可以回应心跳检测,这就分为两种情况, 1、当服务端不要求客原创 2016-07-18 23:21:06 · 8891 阅读 · 0 评论 -
workerman新增tcp端口支持app socket通信
workerman的不同协议可以互通,如pc端一般使用websocket连服务端,app使用tcp,只要保证发送的数据格式都是一样如json就行 当需要做app聊天、推送时,就需要让app客户端连上socket服务端,这时可新增个tcp端口 同一个start_gateway.php中可以添加多个端口进而使用不同协议 start_gateway.php //Web原创 2016-07-18 23:00:22 · 9643 阅读 · 0 评论 -
workerman启动失败解决方法
工作中碰到workerman启动失败最常见的就是由于启动脚本找不到主进程pid文件导致的,workerman 3.2.2之前的版本主进程pid文件默认存储在/tmp/下,有些系统会定时清理/tmp/目录,导致无法启动。 解决方法: 方法1:升级workerman到3.2.2或以上版本,workerman3.2.2 版本不在将pid文件存储在/tmp/下,另外提供了php xxx.php原创 2016-07-18 22:45:23 · 5915 阅读 · 0 评论 -
workerman平滑重启原理
workerman的平衡重启功能很实用,需要重新加载配置使用php start.php reload,这样不会影响正在进行的业务 workerman分为主进程和子进程,主进程负责监控子进程,子进程负责接收客户端的连接和连接上发来的请求数据,做相应的处理并返回数据给客户端。当业务代码更新时,其实我们只要更新子进程,便可以达到更新代码的目的。 当workerman主进程收到平滑重启原创 2016-07-18 22:42:31 · 4439 阅读 · 0 评论 -
workerman高性能socket服务器框架搭建
workerman最好装在linux上面,性能更好,写本文时版本已经到了3.3.4,就拿最新版本跑下,记得当时还是2.0时我就已经是workerman粉丝了 1、安装 # yum install php-cli php-process git gcc php-devel php-pear libevent-devel # pecl install channel://pecl.php.原创 2016-07-18 22:07:40 · 3295 阅读 · 0 评论 -
workerman和swoole的区别
两个框架我都有用过,workerman用得更多些,这2个框架都很出名,它们的出现大大的提高了php的应用范围及知名度 workerman和swoole都是php socket 服务器框架,都支持长连接、tcp和udp、websocket、异步、分布式部署等 workerman纯php写的,swoole是php的c扩展,性能肯定更高,百度、腾讯不少产品的server就是基于swo原创 2016-07-18 21:36:04 · 18916 阅读 · 0 评论