官方下载的GatewayWorker 不能用 我运行 var ws = new WebSocket("ws://127.0.0.1:8282"); ws.onopen = function() { // Web Socket 已连接上,使用 send() 方法发送数据 ws.send("发送数据"); alert("数据发送中..."); }; ...
workerman做的HTTP服务,写的API发现postman测试一直稳定,如果app对接的话,会出现第一次OK,第二次服务500,第三次OK,循环如此。 但是服务器返回500的时候,程序正常执行了。...
RT,开发了几个接口,发现别人给的协议都是定时发送心跳,而且不论是否有数据传输,都要定时发送,否则就会断开,gatewayworker的心跳有接收数据就不会发送,建议,增加一个开关,强制发送心跳开关。 这样对于自己内部开发的接口,可以有数据就不发送心跳,对于别的自己不能控制协议的接口,可以开起强制发送心跳。...
@walkor及各位大神 你们好! 通过阅读源码,我有一些疑惑还希望各位解惑! 1、Register跑起来之后,Gateway是不是只能在一台机器上启用? 2、如果Gateway可以在多台物理机上启动,那么我的两台设备分别是192.168.1.100 ,192.168.1.200 端口的是8080;那我客户端改如何连接呢?我在手册中没有看见。 3、还有一个GateWay 设置 $gateway->count=4...
问题描述 如图,某些接口访问后出现 exit 11: 环境描述 docker环境 docker版本 php镜像 php:7.2-cli-alpine3.10 php版本 redis扩展版本 event扩展版本 其他 在论坛和github上都看到作者关于此问题的答复,可能是PHP版本或者扩展版本导致的coredump。故把版本都换成了比较稳定的,还是有exit 11....
gatewayClient推送又是成功,有时失败报错;Gateway::getAllGatewayAddressesFromRegister() with registerAddress:"127.0.0.1:1238" return array ( ) ;...
想提交 PullRequest, 作者又说github不给国内用, 只能发在这里. 希望能接纳. 如果没有这个功能, 只能在协议 decode 方法中返回false, 在 onMessage 回调中再做判断, 这样的话 onMessage 回调函数要做参数类型约束, 就不好做了. \call_user_func($this->onMessage, $this, $parser::decode($one_requ...
描述: 使用gatewayWorker部署ws服务端,businessWorker在发出数据到gateway的时候,先进行 gzip 压缩,然后再发送。 问题: 客户端首次建立连接的时候,出现服务器端发送的首次数据,类型为Text,而不是Binary类型。 (附件中红色方框 内容为 Text的,属于异常的情况) 相关gateway代码、Events代码 //gateway启动文件的 二进制传输设置 $gateway-...
原代码如下 $len = fwrite($this->_socket, $this->_sendBuffer, 8192); . . . if ($len > 0) { $this->bytesWritten += $len; $this->_sendBuffer = substr($this->_sendBuffer, $len); } else { self::$statist...
Gdb看了一下core 也搞不清哪里的问题。php版本是7.2.11 使用了kafka扩展,memcache和memcached扩展,linux已调优。 追问一个问题,如果有某一个客户端数据量很大,就算reusePort为true也不会平均分配给各个BusinessWorker,只会一直分配给一个进程,对么? 如果业务中有数据库操作,很可能出现busy的情况,是不是只能在开一个服务异步去处理,才能解决这类busy的...
我希望自定义 status 信号的输出的内容,看代码的话,只能重写 formatStatusData方法或者 parseCommand,有没有可能增加一个自定义回调的借口呢,比如给worker定义一个方法,这个方法只能返回字符串.拼接到formatStatusData的底部....
请问高并发访问workerman时,为了确保数据准确,需要给常驻内存的变量加锁么? 伪代码如下: if(!isset(self::$array[$data])){ self::$array[$data]=1; } 高并发下,会不会出现$array[$data]被同时判断,发现都不存在,结果if内被执行多次呢?...
$httpworker = new Worker('text://127.0.0.1:8888'); $httpworker->name = 'HttpWorker'; $httpworker->count = 10; 假设有20个处理任务同时发送到httpworker,收到任务以后,会优先发送给当前空闲的进程处理这个任务,所以初始可以打开10个进程处理任务,等这10个进程处理完了,在处理剩下的10个任务...
远程通过终端使用守护模式启动,但是关闭终端后,socket就无效了。守护模式似乎没用?只能用nohup方式启动。不知道是不是新的workerman存在问题。 运行环境:redhat6.3 php7.3.10...
gatewayworker如getClientIdByUid对同一个用户时常出现一会获取到client_id,一会又获取不到,过一会之后又能获取到,期间浏览器一直在每隔20秒发送数据ping数据,不太可能在存在掉线的问题, getClientIdByUid等等方法也存在该问题...
SSL handshake error: stream_socket_enable_crypto(): SSL_R_NO_SHARED_CIPHER: no suitable shared cipher could be used. This could be because the server is missing an SSL certificate (local_cert context option) ...
// 初始化 gateway 进程 $gateway = new Gateway("p1://0.0.0.0:1227")// 心跳间隔 $gateway->pingInterval = 180; $gateway->pingNotResponseLimit = 2;// 初始化 gateway 进程 $gateway2 = new Gateway("p2://0.0.0.0:1228")// 心跳间隔 ...