在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回调
<?php //设置Cookies数组 setcookie('Datatype[a]', '1'); setcookie('Datatype[b]', '2'); set...
(1).创建数据库test ,创建表shop(字段id,total),商品id是1,商品总数10 (2).PHP模拟购买,商品数量大于0才能购买<?php //连接数据库 $con=mysqli_connect("192.168.2.18...
项目需要使用websocket推送最新订单,客户服务器非linux不支持swoole,因此使用原生,直接上代码(1).PHP服务端<?php ini_set('error_reporting', E_ALL ^ E_NOTICE); ini_set...
<?php $data=array('a'=>1,'b'=>2,'c'=>3,'d'=>4); extract($data); var_dump($a,$b,$c,$d); ?>在人人商城中捡到的...
PHP不像net支持多继承,自身只支持单继承,为了解决这个问题,php出了Trait这个特性,减少单继承语言的限制。并且能让代码复用率更高。说白了就是一个对象的属性和方法扩展工具一样。例如:trait exts { public f...
(1).前端文件:<form action="upload.php" method="post" enctype="multipart/form-data"> &...