问题描述 Hi walkor , 执行./vendor/bin/phpunit --bootstrap support/bootstrap.php tests/Test.php,时,报Attempt to read property "name" on null。查了下原因是我定义的 app\bootstrap\MqttClient::class类里面的public static function...
问题描述 Hi,walkor,分布式部署websocket服务时使用Channel组件进行通讯,发送数据时意外出现错误 打印了unserialize($data)中的$data数据,数据如下图所示。是什么原因呢? 程序代码 报错信息 ErrorException: unserialize(): Extra data starting at offset 294 of 295 bytes in xx/vendor/w...
问题描述 Hi walkor,请问webman自定义进程里面如何拿到work实例呢? class Websocket { public function onWorkerStart($worker) { } public function onMessage(TcpConnection $connection, $data) { //这里如何拿到work实例呢? echo "{$data}\n"; ...
channel server只能启动一个,如何做到高可用 Hi walkor,因为项目需要做到高可用,websocket放在了多台服务器上,但channel server只能启动一个,如果部署channel server的服务器宕机了,相当于整个websocket服务器间通讯不能用了,有什么好的办法呢?...
Hi walkor, 在使用workerman的RPC时,我有时候在debug模式下调试项目时,能看到日志栏突然打印一句“tr: write error: Broken pipe” (注:没有其它信息打印,只有这一句)。请问这是什么原因导致的?...
Hi walkor, 今天查看webman日志时,显示有个奇怪的请求,路由是remote/fgt_lang,参数是{"lang":"/../../../..//////////dev/cmdb/sslvpn_websession"},请问这个请求是怎么来的?...
Hi walkor, Mqtt\Client组件自带重连功能,但我现在mqtt服务端验证机制是需要验证客户端的当前登录时的时间戳的,所以现在的问题是如果mqtt重启后,mqtt客户端会重连失败(因为option传参里面还是用的上一次登录的时间戳,服务端会校验失败),请问如何在mqtt客户端重连时修改option的参数呢?这样的话在重连时username或者password参数就能写入当前的时间戳了。...
Hi,walkor: 这个问题困扰我好些天了,想请大大给个建议,用了几年workerman了,相当稳定。最近有个物联网项目中,功能是前端页面对设备进行远程控制,我在HTTP接口业务代码中是用AsyncConnection异步向TCP服务下发控制指令的,所以设备模块应答的结果也是异步收到。此时HTTP接口响应时,页面是不知道模块是否应答成功的。 请问大大,接口业务代码里我向TCP服务发送异步请求后,如何等待拿到异步结果...
Hi 大大, 今天在开发时意外出现一个这样的问题(用了workerman几年了没有出现过),就是前端请求接口时,数据时有时无。查看日志才发现,报了一个这样的问题: msg:stream_select(): unable to select [4]: Interrupted system call (max_fd=5)。 请问这个问题是怎么出现的? 我要如何解决呢。感谢! (另外,我用的是RPC,明明类里面有我写好的...
Hi walkor, 我在项目根目录下使用php status命令时,发现连接数不断变大,远超过真实设备的连接数量。使用connections命令查看具体连接数时,发现很多异常连接(如图所示,Text协议部分是异常的,HexNL协议的连接是正常的),请问这种连接是什么原因导致的? (5002是我的本地异步服务端口。)...
Hi walkor, 最近发现了一个奇怪的现象,使用php start.php status命令查看信息时,connections的值是不断增加的,即每执行一下php start.php status命令后,查看到的connections值是不断增加的。不知道会达到什么值或过多久,再使用但使用php start.php status命令时,connections值会重置,然后继续增加,周而复始。但php start....
Hi walkor, 请问为什么静态变量$seconds 放到定时器中声明时,进程中$seconds的值是不共享的? 我每次发一个请求时,$seconds的初始值都是0。 如果我直接在onMessage里面声明$seconds = 0时,$seconds是共享的。如下: $timer_id = Timer::add(1, function () use( &$timer_id) ...
Hi,walkor, 遇到一个这样的怪问题,在Workerman-RPC中,我封装了一个这样的获取随机数的静态方法 如下: public static function getRandomNumber () { $str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789'; retur...
Hi,walkor, 遇到一个这样的怪问题,在Workerman-RPC中,我封装了一个这样一个获取随机数的静态方法 如下: public static function getRandomNumber () { $str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789'; retu...
Hi walkor, 用Workerman作为TCP服务器时, 设备同时连接时, self::$statistics++; $this->id = $this->_id = self::$_idRecorder++; 这行代码在给_id赋值时会出现重复的情况, 请教下walkor,有没有不管几千上万台设备同时连接服务器时clientid不重复的算法,感激不尽~...
Hi Walkor, 我们目前在做的物联网项目(智能家居方面),用的workerman,10台服务器作分布式部署,分布式通讯组件是Channel,那么, 1 .Channel的Server需要考虑负载的问题吗? 10台服务器的workerman分布式部署时,j单独分配一台服务器给Channel Server足够吗? 2. 每台服务器wokerman启用8个进程,对于mysql或者redis的使用,我是在onW...