PHP消息队列用法实例分析

本文实例讲述了PHP消息队列用法分享给大家供大家参考,具体如下:

该消息队列用于linux下,进程通信

rush:PHP;"> #根据路径和后缀创建一个id $key = ftok(__DIR__,'R'); #获取队列中的消息 $q = msg_get_queue($key); #删除队列 msg_remove_queue($q); #获取队列的状态信息 $status = msg_stat_queue($q); print_r($status); echo "\n"; for($i=0;$i<100;$i++) { /** * 向队列里添加消息 * resource $queue,int $msgtype,mixed $message [,bool $serialize = true [,bool $blocking = true [,int &$errorcode ]]] * $msgtype :消息的类型 * $message : 具体的数据 * $serialize:是否要序列化 * $blocking: 是否阻塞 , 当队列中满时,会进行阻塞,设为非阻塞会产生一个 MSG_EAGAIN 的 错误消息 */ $flag = msg_send($q,111,array('a'=>1),true,false,$errorcode); var_dump($errorcode); } /** 接收消息 resource $queue,int $desiredmsgtype,int &$msgtype,int $maxsize,mixed &$message [,bool $unserialize = true [,int $flags = 0 [,int &$errorcode ]]] $desiredmsgtype:0表示从队列最前面开始返回数据,bigger 0:具体的某个队列 $maxsize:数据最大值,获取的消息如果》此值则出错 $msgtype:消息的具体类型,因为$desiredmsgtype可以不指定类型,即指定为0 $flags:MSG_IPC_NowAIT 如果队列为空直接返回(不阻塞),MSG_EXCEPT MSG_NOERROR 参见手册 */ $data = msg_receive($q,$type,200,$msg); var_dump($data); echo "\n"; var_dump($type); echo "\n"; var_dump($msg); echo "\n";

队列状态信息:具体参考手册

1015 [msg_perm.gid] => 100 [msg_perm.mode] => 438 [msg_stime] => 0 [msg_rtime] => 0 [msg_ctime] => 1411830331 [msg_qnum] => 0 [msg_qbytes] => 65536 [msg_lspid] => 0 [msg_lrpid] => 0 )

删除

更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》及《

希望本文所述对大家PHP程序设计有所帮助。

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...