Channel组件出现报错,unserialize(): Extra data

问题描述 Hi,walkor,分布式部署websocket服务时使用Channel组件进行通讯,发送数据时意外出现错误 打印了unserialize($data)中的$data数据,数据如下图所示。是什么原因呢? 程序代码 报错信息 ErrorException: unserialize(): Extra data starting at offset 294 of 295 bytes in xx/vendor/w...

xiewen_kevin 发表与 3天前 89 浏览 2 回答
webman自定义进程onMessage方法里面如何拿到work实例

问题描述 Hi walkor,请问webman自定义进程里面如何拿到work实例呢? class Websocket { public function onWorkerStart($worker) { } public function onMessage(TcpConnection $connection, $data) { //这里如何拿到work实例呢? echo "{$data}\n"; ...

xiewen_kevin 发表与 20天前 117 浏览 1 回答
Channel组件如何做到高可用方案

channel server只能启动一个,如何做到高可用 Hi walkor,因为项目需要做到高可用,websocket放在了多台服务器上,但channel server只能启动一个,如果部署channel server的服务器宕机了,相当于整个websocket服务器间通讯不能用了,有什么好的办法呢?...

xiewen_kevin 发表与 21天前 152 浏览 1 回答
Webman框架中使用orderBy排行排序(多个字段)

Webman框架中使用orderBy排行排序(多个字段) 请问如何用orderBy方法传参进行同时多个字段的排序?...

xiewen_kevin 发表与 2022-12-01 981 浏览 3 回答
偶尔会出现tr: write error: Broken pipe问题

Hi walkor, 在使用workerman的RPC时,我有时候在debug模式下调试项目时,能看到日志栏突然打印一句“tr: write error: Broken pipe” (注:没有其它信息打印,只有这一句)。请问这是什么原因导致的?...

xiewen_kevin 发表与 2021-11-12 3086 浏览 3 回答
webman接收到奇怪的请求

Hi walkor, 今天查看webman日志时,显示有个奇怪的请求,路由是remote/fgt_lang,参数是{"lang":"/../../../..//////////dev/cmdb/sslvpn_websession"},请问这个请求是怎么来的?...

xiewen_kevin 发表与 2021-08-27 4060 浏览 2 回答
webman常驻内存问题

Hi walkor, 请问webman的控制器实例后是常驻内存的,那么我在控制器中new对象也是常驻内存的吗? ...

xiewen_kevin 发表与 2021-08-23 2437 浏览 2 回答
Mqtt\Client 客户端重连如何时重新传入参数

Hi walkor, Mqtt\Client组件自带重连功能,但我现在mqtt服务端验证机制是需要验证客户端的当前登录时的时间戳的,所以现在的问题是如果mqtt重启后,mqtt客户端会重连失败(因为option传参里面还是用的上一次登录的时间戳,服务端会校验失败),请问如何在mqtt客户端重连时修改option的参数呢?这样的话在重连时username或者password参数就能写入当前的时间戳了。...

xiewen_kevin 发表与 2021-08-10 1678 浏览 1 回答
Mqtt\Client 客户端订阅时需要处理粘包问题吗?

Hi walkor, 如题,请问使用Mqtt\Client组件客户端订阅时接收到的数据需要处理粘包问题吗?...

xiewen_kevin 发表与 2021-08-05 2287 浏览 3 回答
请求接口时,代码业务里面有异步连接(AsyncConnection)时出现问题。。。

Hi,walkor: 这个问题困扰我好些天了,想请大大给个建议,用了几年workerman了,相当稳定。最近有个物联网项目中,功能是前端页面对设备进行远程控制,我在HTTP接口业务代码中是用AsyncConnection异步向TCP服务下发控制指令的,所以设备模块应答的结果也是异步收到。此时HTTP接口响应时,页面是不知道模块是否应答成功的。 请问大大,接口业务代码里我向TCP服务发送异步请求后,如何等待拿到异步结果...

xiewen_kevin 发表与 2021-05-29 1598 浏览 2 回答
出现一个系统异常,导致数据有问题

Hi 大大, 今天在开发时意外出现一个这样的问题(用了workerman几年了没有出现过),就是前端请求接口时,数据时有时无。查看日志才发现,报了一个这样的问题: msg:stream_select(): unable to select [4]: Interrupted system call (max_fd=5)。 请问这个问题是怎么出现的? 我要如何解决呢。感谢! (另外,我用的是RPC,明明类里面有我写好的...

xiewen_kevin 发表与 2021-04-29 1788 浏览 1 回答
使用connections命令时,有许异常连接

Hi walkor, 我在项目根目录下使用php status命令时,发现连接数不断变大,远超过真实设备的连接数量。使用connections命令查看具体连接数时,发现很多异常连接(如图所示,Text协议部分是异常的,HexNL协议的连接是正常的),请问这种连接是什么原因导致的? (5002是我的本地异步服务端口。)...

xiewen_kevin 发表与 2021-01-01 1774 浏览 2 回答
status命令时,connections的值是不断增加。

Hi walkor, 最近发现了一个奇怪的现象,使用php start.php status命令查看信息时,connections的值是不断增加的,即每执行一下php start.php status命令后,查看到的connections值是不断增加的。不知道会达到什么值或过多久,再使用但使用php start.php status命令时,connections值会重置,然后继续增加,周而复始。但php start....

xiewen_kevin 发表与 2020-09-30 1780 浏览 2 回答
定时器个数上限问题

Dear walkor, 请问一台2CPU 4M内存的服务器能同时运行几十万个定时器吗? (注:定时器的业务不是阻塞的,阻塞的业务我放到了异步服务里),感谢~...

xiewen_kevin 发表与 2020-08-18 1839 浏览 2 回答
关于static的变量内存常驻

Hi walkor,  请问为什么静态变量$seconds 放到定时器中声明时,进程中$seconds的值是不共享的? 我每次发一个请求时,$seconds的初始值都是0。 如果我直接在onMessage里面声明$seconds = 0时,$seconds是共享的。如下: $timer_id = Timer::add(1,             function  () use( &$timer_id)  ...

xiewen_kevin 发表与 2019-04-14 3662 浏览 1 回答
Workerman-RPC开多个进程时出现的数据重复问题

Hi,walkor, 遇到一个这样的怪问题,在Workerman-RPC中,我封装了一个这样的获取随机数的静态方法 如下: public static function getRandomNumber () { $str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789'; retur...

xiewen_kevin 发表与 2018-04-20 3086 浏览 0 回答
Workerman-RPC开启多进程时会出现数据重复问题

Hi,walkor, 遇到一个这样的怪问题,在Workerman-RPC中,我封装了一个这样一个获取随机数的静态方法 如下: public static function getRandomNumber () { $str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789'; retu...

xiewen_kevin 发表与 2018-04-20 3272 浏览 1 回答
ClientID在几台设备同时连接时会出现重复的情况

Hi walkor, 用Workerman作为TCP服务器时, 设备同时连接时, self::$statistics++; $this->id = $this->_id = self::$_idRecorder++; 这行代码在给_id赋值时会出现重复的情况, 请教下walkor,有没有不管几千上万台设备同时连接服务器时clientid不重复的算法,感激不尽~...

xiewen_kevin 发表与 2018-04-09 4152 浏览 3 回答
智能家居项目workerman分布式部署问题

Hi Walkor, 我们目前在做的物联网项目(智能家居方面),用的workerman,10台服务器作分布式部署,分布式通讯组件是Channel,那么, 1 .Channel的Server需要考虑负载的问题吗? 10台服务器的workerman分布式部署时,j单独分配一台服务器给Channel Server足够吗? 2. 每台服务器wokerman启用8个进程,对于mysql或者redis的使用,我是在onW...

xiewen_kevin 发表与 2017-07-04 3308 浏览 1 回答
当前连接属于哪一个进程?

Hi walkor, 我现在服务器框架只是用的Workerman,如果要用Channel作分布式通讯的话,必须要知道连接所在的worker, 那么当设备连接上来的时候,我要如何获取到当连接所在的进程(worker id)? 例如在$tcp_worker->onConnect = function ($connection) {}这个函数里面....

xiewen_kevin 发表与 2017-06-07 2518 浏览 2 回答

xiewen_kevin

1592
积分
0
获赞数
0
粉丝数
2015-12-18 加入
🔝