onConnect 里调用 onWebSocketConnect 的回调方法,如果不满足条件关闭了链接该如何终止 onConnect 后续事件呢?

代码如下: $worker->onConnect = function (\Workerman\Connection\TcpConnection $connection) { $connection->onWebSocketConnect = function ($connection, $http_header) { if (!isset($_GET['sid']) || !i...

小七他哥 发表与 2021-07-20 1595 浏览 1 回答
请问 $worker->onConnect 和 $connection->onWebSocketConnect 是异步的吗?

我的代码大致如下: $worker->onConnect = function (\Workerman\Connection\TcpConnection $connection) { $connection_ip = $connection->getRemoteIp(); $connection->onWebSocketConnect = function ($connection...

小七他哥 发表与 2021-07-19 1961 浏览 1 回答
关于workerman的健壮性的一个问题,connect的时候故意传错一个参数,程序就崩溃了

我在websocket的链接里加了个参数类似下面: ws://127.0.0.1:8019/?sid=3670549-360dMrtp 然后服务端 onConnect 方法里做了如下验证: $worker->onConnect = function (\Workerman\Connection\TcpConnection $connection) { try { $connection-...

小七他哥 发表与 2021-07-14 2446 浏览 4 回答
建议workerman对每个connection增加一个唯一id标示属性

我目前很多地方都用到确定一个唯一connection的地方,不知道大家有这样的需求没,我自己目前是这样实现的: $connection->uniqueId = $connection->worker->id . '-' . $connection->id; 但是自己实现的,写代码的时候不能自动提示,我感觉这个属性其实也挺重要的吧,为何官方不加一个呢?...

小七他哥 发表与 2021-07-13 1939 浏览 1 回答
为何我的队列服务没啥请求但是那个total_request一直在涨?

我按照作者: http://doc.workerman.net/components/workerman-redis-queue.html 这篇文章实现的一个队列服务器,我通过 status 命令发现那个 total_request 一直在涨,但是我没有做什么请求啊,我才刚刚开发。 具体信息如下: root@c1cf8d8252d7:/var/www# php diary/server/WorkermanQueueS...

小七他哥 发表与 2021-07-13 2236 浏览 2 回答
我今天把我的系统由http换成https了,发现所有的ws 的 send不再返回true了,而是返回null,消息也能成功发送,请问这是问题吗?

我今天把我的系统由http换成https了,发现所有的ws 的 send不再返回true了,而是返回null,消息也能成功发送,请问这是问题吗?...

小七他哥 发表与 2021-07-10 1996 浏览 1 回答
请问大家是如何将websocket在线连接用户列表数据和其他应用共享呢?

我目前的websocket服务已经开发完了,不过我发现在将在线用户列表的信息和其他应用共享的时候,搞得太复杂了,我先说说的处理方法吧: 我是在 redis 里面存了一个 sid 为 key,uid 为 value 的数组,sid是客户端js生成的一个唯一字符串,该值在用户登录的有效期内是保持不变的,uid就是数据表里的id字段值,自增数字型。 客户端每次连接成功后都会给服务发一条消息,服务端在 onMessage 回...

小七他哥 发表与 2021-07-08 2562 浏览 2 回答
请问下面这个定时器如何改成普通函数的形式?

代码如下,是workerStart下的定时器: // 进程启动后设置一个每30秒运行一次的定时器,定时关闭不发送心跳包的链接以及没有sid属性的链接 Timer::add(30, 'cleanWorkerInvalidConnection', [$worker]); function cleanWorkerInvalidConnection(&$worker) { $time_now = time()...

小七他哥 发表与 2021-07-08 1572 浏览 1 回答
使用http协议开启服务的时候,如果代码报错了,再重启服务就访问不了了,并且在关闭服务的时候报了一堆错误,请修复。

我用http协议开启了个服务,onMessage里面因为代码有问题报错了,然后重启该服务,在关闭该服务的时候会报错如下: Warning: (null)(): supplied resource is not a valid stream resource in Unknown on line 0 Call Stack: 0.0002 1356584 1. {main}() /var/www/di...

小七他哥 发表与 2021-07-06 3209 浏览 2 回答
websocket服务如何在服务端加心跳功能?

我搭建了一个websocket服务,主要是html 5页面打开的时候会连接该websocket服务,我现在是pc端的浏览器打开页面然后关闭的时候,通过在服务端用status命令检查是没有问题的,连接数会减少,但是手机端app里面访问该html5页面,然后直接关掉app,通过服务端status命令显示该连接没关闭掉,都过了10多分钟还没有关掉,非常让人恼火,想请问下这种情况的话,该如何处理呢? 我目前看手册里有个心跳机...

小七他哥 发表与 2021-06-29 2802 浏览 1 回答
为何我机器上安装了libevent,但是workerman使用的却是select?

我在机器上执行如下命令: yum install libevent 已加载插件:fastestmirror 设置安装进程 Loading mirror speeds from cached hostfile http://mirrors.cloud.aliyuncs.com/centos/6/os/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "Th...

小七他哥 发表与 2021-06-25 1969 浏览 3 回答
建议status文件位置应该可以自定义

我的项目是用git管理的,用status看了一下就生成了个.status文件,这样一不小心就容易提交到版本库中去了,我看了下代码,该文件的位置好像是写死的: static::$_statisticsFile = __DIR__ . '/../workerman-' .posix_getpid().'.status'; 希望管理能把这个做成能自定义的,谢谢。...

小七他哥 发表与 2021-06-24 1885 浏览 0 回答
workerman说明文档挂了!!!

地址:http://doc.workerman.net/async-tcp-connection/components/global-data-server.html 报错如下: ENOENT: no such file or directory, stat '/home/www/doc.workerman.net/_book/async-tcp-connection/components/global-data-s...

小七他哥 发表与 2021-06-24 1841 浏览 1 回答
为何给客户端推送消息有时成功有时失败呢?

我的需求是根据需求给客户端某个用户推送消息,代码如下: <?php use Workerman\Worker; include_once __DIR__ . DIRECTORY_SEPARATOR . '../config.php'; require_once WORKERMAN_WEBSOCKET_API_ROOT . '/Workerman/Autoloader.php'; require_once ...

小七他哥 发表与 2021-06-24 2769 浏览 1 回答
workerman有主动发起websocket链接的方法吗?

我现在的需求是后台管理员触发某个操作之后会给客户端指定用户或者所有用户推送一条消息。 我是个新手,用的是wokerman,没有用gatewayWorker,我看网上的解决方案是: https://wenda.workerman.net/question/508 我用了上面的代码,但是发现了一个问题: 那个开放在5678端口上的服务,在我 ctrl+c 掉主服务后,那个服务好像没有关闭掉,再次启动主服务,提示 5678...

小七他哥 发表与 2021-06-24 1784 浏览 1 回答
到底应该选用workerman还是gatewayWorker,请大佬帮忙解答一下,谢谢。

用GatewayWorker还是Workerman? 如果你的项目是长连接并且需要客户端与客户端之间通讯,建议使用GatewayWorker。 短连接或者不需要客户端与客户端之间通讯的项目建议使用Workerman。 GatewayWorker不支持UDP监听,所以UDP服务请选择Workerman。 如果你是一个有多进程socket编程经验的人,喜欢定制自己的进程模型,可以选择Workerman。 以上是我看文档上...

小七他哥 发表与 2021-06-23 2224 浏览 2 回答

小七他哥

80
积分
0
获赞数
0
粉丝数
2021-06-23 加入
×
🔝