在workerman中我们可以看到常用的socket事件onConnect,onMessage,onClose,实际上socket不存在这些事件,workerman只是为了方便开发者。自己也在写相关的东西,正好记录下。
(1).当socket可读,通过stream_socket_accept 或者socket_accept成功接受套接字上的连接那么此时应该触发onConnect回调
(2).当socket可读,通过fread获取到客户端数据,当然如果包含具体协议,应该按照协议拿到完整的客户端数据,此时再触发onMessage回调
(3).onClose事件以下几种情况都要考虑:
(3.1).当客户端socket可读,但是读取到的内容为空,通过is_resource或者feof来判断客户端socket是否已经关闭 (3.2).当客户端socket可写,但是写入失败的时候,需要调用onClose回调
//参数1 文件名 参数2 缩放比例 function _thumb($_filename,$_percent){ ob_clean();...
PHP的session文件夹默认保存在同一个文件,随着访客的增多,访问的速度会非常慢,例如部分管理系统后台每天登陆1000次,1个月就创建了30000个session文件,一年后是多少?假设这个系统的用户是上万人呢?方法1:每个网站使用自己的session文件夹,代码如下:<?php $pat...
第一步:服务端文件<?php $wsdlfile='webservice.wsdl'; ini_set('soap.wsdl_cache_enabled','0'); //关闭WSDL缓存 //001...
Redis提供了发布订阅功能,可以用于消息的传输,Redis的发布订阅机制包括三个部分,发布者(publisher),订阅者(subscriber)和频道(channel)。 发布者和订阅者都是Redis客户端,Channel则为Redis服务器端,发布者将消息发送到某个的频道,订阅了这个...
(1).在PHP中可以查看的环境变量包括: (1.1).电脑环境变量 (2.1).服务器环境变量(2).getenv()函数获取一个环境变量的值.参数1是环境变量的key,参数2值为true的时候仅从你的电脑环境变量中查找,参数2值为false会从两种变量中全部查询//获取我电脑登录的用户名,输出A...
posix_ttyname - 获取当前终端设备名称。<?php var_dump( posix_ttyname(STDOUT) );我们启动一个终端,执行上面的代码输出:/dev/tty1我们再启动一个终端,执行上面的代码输...