workerman長(zhǎng)時(shí)間未連接,無(wú)法發(fā)送消息,第二次即可正常發(fā)送,且報(bào)錯(cuò)think\exception\ErrorException: Packets out of order. Expected 1 received 0. Packet size=145
<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK IT ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2018 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------
// +----------------------------------------------------------------------
// | Workerman設(shè)置 僅對(duì) php think worker:server 指令有效
// +----------------------------------------------------------------------
return [
// 擴(kuò)展自身需要的配置
'protocol' => 'websocket', // 協(xié)議 支持 tcp udp unix http websocket text
'host' => '0.0.0.0', // 監(jiān)聽地址
'port' => 2345, // 監(jiān)聽端口
'socket' => '', // 完整監(jiān)聽地址
'ssl' => true,
'context' => [
'ssl' => [
'local_cert' => 'D:/phpEnv/server/nginx/conf/vhosts/cert/www.fzhelpr.com.pem', // 也可以是crt文件
'local_pk' => 'D:/phpEnv/server/nginx/conf/vhosts/cert/www.fzhelpr.com-key.pem',
'verify_peer' => false,
],
], // socket 上下文選項(xiàng)
'worker_class' => 'app\api\http\Worker', // 自定義Workerman服務(wù)類名 支持?jǐn)?shù)組定義多個(gè)服務(wù)
// 支持workerman的所有配置參數(shù)
'name' => 'thinkphp',
'count' => 4,
'daemonize' => false,
'pidFile' => '',
// 支持事件回調(diào)
// onWorkerStart
'onWorkerStart' => function ($worker) {
},
// onWorkerReload
'onWorkerReload' => function ($worker) {
},
// onConnect
'onConnect' => function ($connection) {
},
// onMessage
'onMessage' => function ($connection, $data) {
$connection->send('receive success');
},
// onClose
'onClose' => function ($connection) {
},
// onError
'onError' => function ($connection, $code, $msg) {
echo "error [ $code ] $msg\n";
},
];
客戶端長(zhǎng)時(shí)間未訪問(wèn),發(fā)送消息給服務(wù)器則返回think\exception\ErrorException: Packets out of order. Expected 1 received 0. Packet size=145,然后重連服務(wù)器再次發(fā)送即可正常
操作系統(tǒng)Debian GNU/Linux 11
workerman:3.5.34
thinkphp 6.0
php 8.1.13
nginx:1.22.1