workerman
首页
问答
分享
手册
市场
商业
AI客服系统源码
聊天系统源码
Webman AI
物联网
赞助商
webman
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
问答
Timer问题
在测试onMessage里面写Timer
发
现无法清除,这让我很郁闷。代码1: ```php use \
GatewayWorker
\Lib\Gateway; use \
GatewayWorker
\Lib\Store; use \
GatewayWorker
\Lib\Db;public static function onClose($client_id) { Timer::del($_SESSION ); } } ``` 代码
二
:static function onClose($client_id) { Timer::delAll(); } } }}} ``` 以上两种貌似都是判断客户端
进
入和退出时的操作但客户端
进
出频繁时,定时器会并
发
。清除不了。大神来帮本菜鸟分析一下呗。
问答
workman
进
程中是单线程么
rt,workman
进
程是单线程么,就是轮询和执行回调, 是会冲突么?如果我只启动一个
进
程的话, 是不是无论timer 还是 onmessage 中的回调, 都是按顺序一个一个执行的,处理
数
据
都不需要加锁?还是 onMessage 之间会同时访问相同的
数
据
? 谢谢~~~以前用c++, 刚开始接触php开
发
游戏服务器, 考虑的互斥有些多
问答
VR眼镜一直给服务器
发
送
心跳包,现在服务器要在某种状态时给眼镜
发
送
播放指令,怎么下
发
?刚接触,求大神高解
现在使用的
GatewayWorker
来接收眼镜的心跳包,然后怎么给眼镜下
发
某些指令。
问答
VR眼镜一直给服务器
发
送
心跳包,现在服务器要在某种状态时给眼镜
发
送
播放指令,怎么下
发
?刚接触,求大神高解
现在使用的
GatewayWorker
来接收眼镜的心跳包,然后怎么给眼镜下
发
某些指令。
问答
windows情况下
GatewayWorker
的优化
由于公司项目历史问题,主要使用iis服务,且使用.net、vb、C#开
发
,故不能随随便便换系统使用
GatewayWorker
。我自己已经成功可以跑起来,加入群组,uid,接入redis,收
发
信息,图片等。后续
发
现由于windows的限
制
,可能会出现一系列的问题。由于接下来的项目可能比较大。
问答
请问
GatewayWorker
最大连接
数
如何解决的
目前我使用
GatewayWorker
建立的聊天室最大连接
数
为254,请问有没有什么办法可以提升最大连接
数
?是需要修改workerman的配置,还是说需要修改服务器的配置呢?
问答
webman使用channel做
进
程间的通信,如何保障连接的publish,自己订阅不消费
) $event_name = 'event_luckysheet'; //
发
布某个自定义事件,订阅这个事件的客户端会收到事件
数
据
,并触
发
客户端对应的事件回调connections[$connection->id]); echo "onClose\n"; } } ``` 基于luckysheet做一个webman的后台,但是Channel
进
行
进
程间的通信,自己接受的data,返回 `{"createTime":1661484194207,"returnMessage":"success","type":1,"status":"0"}` 然后吧接口的
数
据
分
发
给其他连接端,是需要模仿gateway自己维护一个uid,带到publish的$data里面 然后on的时候,在判断是否是自己
发
送
出去的,还是有什么别的方案?当连接
进
来的客户端
发
送
请求的时候,
问答
workerman开
发
的客服系统
发
生消息丢失的情况
用workerman开
发
了客服系统之后,在
进
行测试的时候,
数
据
偶尔会
发
生丢失的情况,event.php中的onmessage方法中, ```php $msg = JsonProtocol::decode); return Gateway::sendToUid($msg, JsonProtocol::encode($bk)); } ``` 先判断接收方的uid通信通道是否存在,存在就把消息插入
数
据
库,然后把消息
发
给接收方uid 。但是
数
据
库中消息存入成功了,客服缺没有接收到消息?这种问题只是偶尔
发
生,匪夷所思,还望大侠解答?在这里谢谢了
问答
关于workerman离线消息缓存
发
送
的问题
假设用户1给用户N
发
送
消息 用户N处于离线状态 先把用户1的消息存储于缓存中 用户N上线 在
发
送
过去
问答
websocket前端如何用js定时
发
送
心跳包
请问使用workerman3.X的websocket协议,前端怎么用js定时
发
送
心跳包呀,我用了 ```js self.setInterval("heart()",1000); function heart() { ws.send('heart'); } ``` 好像无法
发
送
,不知怎么做呢?
问答
GatewayWorker
没有触
发
连接onConnect回调
/ 服务注册地址 $gateway->registerAddress = '127.0.0.1:1238'; // 心跳间隔 //$gateway->pingInterval = 10; // 心跳
数
据
$connection , $http_header) { // 可以在这里判断连接来源是否合法,不合法就关掉连接 // $_SERVER标识来自哪个站点的页面
发
起的[图片](//www.workerman.net/upload/questions/20181222/9e7db08df66663dab186ff57bb32053b.png) 当我在前端控
制
台输出ws
问答
如何与其他平台实现
数
据
对接
我们目前在使用workerman做一些物联网的
数
据
平台,在使用过程中,需要和其他平台
进
行
数
据
的对接,遇到两个问题: 1、目前很多的平台采用api接口的方式,需要我们去下载
数
据
过来,大部分可以通过http
问答
businessworker突然全掉了,重启半小时后又全部掉了
1.平时晚上10点左右业务量都比较低了,但是昨天晚上BusinessWorker
进
程突然全没了,查看log日志,
发
现只有昨天凌晨时候有一次错误4,可能是有链接连接到register上了,但晚上10点左右日志并没有记录下来任何东西查看阿里云监控
发
现在两次businessworker全掉的时候cpu,
进
程
数
和负载都大幅上涨,是因为businessworker掉线造成的吗?2.第
二
次重启时怀疑是
进
程
数
不够,于是增加了businessworker
数
量,由40增加到50,我的cpu内核是2核。与此同时我
发
现我的nonestablished连接
数
达到了22000左右,
发
现原来因为遇到一些问题把net.ipv4.tcp_max_tw_buckets参
数
改成22000了,于是又把这个参
数
改成了200004.
GatewayWorker
重启后,TCP活跃连接
数
每35分钟会稍微波动一下,我们设备是35分钟会自动
发
送
一条登录信息过来,短时大量的消息过来,会造成TCP活跃
数
波动吗?见右下图
问答
GatewayWorker
的onmessage里面的代码只在首次执行
当客户端第一次连接上来的时候,
发
送
了一个消息,是json格式的,首次的时候会正常解析,到了第
二
次,就不在执行解析的那一行的代码了 版本:3.0的 系统框架是thinkphp6 !
文档
使用mysql
## Gateway/Worker模型
数
据
库使用示例 > **提示** > 推荐使用[webman的
GatewayWorker
插件](https://www.workerman.net/doc/gateway-worker/webman.html),对业务目录、
数
据
库、redis等支持更完善。* *
数
据
库示例,假设有个your_db_name库,里面有个user表 */ class Events { /** * 新建一个类的静态成员,用来保存
数
据
库实例 */public static $db = null; /** *
进
程启动后初始化
数
据
库连接 */ public static function onWorkerStart,根
据
发
来的命令打印2个用户信息 * @param int $client_id
发
消息的client_id * @param mixed $message 消息 * @return
问答
连接
数
超过1024,客户端不能
发
送
消息
#### 问题描述 连接
数
超过1024左右,客户端在连接就会卡住,
发
布了消息,已经按文档做了优化 #### 截图报错信息里报错文件相关代码 !
问答
在某些较低版本的 Chrome 上 WebSocket 握手失败[已解决]
在某些稍低一些版本的 Chrome 上与 Workerman
进
行 WebSocket 握手失败,比如 Windows 版的 Chrome 41,原因是该版本的浏览器在 WebSocket 握手时默认会传一个Sec-WebSocket-Protocol 头: Sec-WebSocket-Protocol: undefined 然后就
发
生了这种错误: `WebSocket connection tohandshake: Sent non-empty 'Sec-WebSocket-Protocol' header but no response was received` 建立连接的方法很简单,并没有传第
二
个参
数
我在高版本的 Chrome 上即使故意传一个 undefined 的变量给第
二
个参
数
,也不会
发
送
Sec-WebSocket-Protocol 头,而我说的版本中,即使我第
二
个参
数
传 null 也会有这个头
问答
使用
GatewayWorker
客户端
发
送
给另一个客户端消息,如何做呢
现在是做一个称重传感器平台,有一个Web界面,界面更新参
数
值后,需要使用Socket传输至传感器里的Linux系统里; 还有另一个功能是称重传感器实时把
数
据
显示在Web界面中,请问大神给个思路。。。
问答
gatewayworker
自定义协议
看了workerman手册的这个章节 定
制
通讯协议 http://doc3.workerman.net/protocols/how-protocols.html 以文中MyApp/Protocols/JsonNL.php的实现, 放在
gatewayworker
中,是不是在
GatewayWorker
\Applications\下新建Protocols文件夹,然后建立JsonNL.php,这样是不是项目名称变成了Protocols
GatewayWorker
使用workerman自定义协议,应该把自定义的协议文件放在哪个目录呢?谢谢
问答
如何使用定时器功能,每间隔一段时间,给用户
发
送
消息
如何在workerman的Demo的基础上,实现 每间隔一段时间,服务器向指定的用户推
送
消息
数
据
。 如何把定时代码和workerman的代码结合起来?
« 上一页
1
...
60
61
62
63
64
65
66
67
...
434
下一页 »
« 上一页
63
下一页 »
赞助商
+成为赞助商
请作者喝咖啡
×
🔝