workerman
首页
问答
分享
手册
市场
商业
AI客服系统源码
聊天系统源码
Webman AI
物联网
赞助商
webman
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
问答
服务器如何接收硬件
发
送
到本机端口的
数
据
我用dtu(TCP协议)将
数
据
发
送
到服务器端口以后,如何接收,或者echo出来
问答
GatewayWorker
做物联网循环采集
数
据
问题
#### 问题描述: 我正在使用
GatewayWorker
开
发
一个物联网平台,主要功能是作为TCP服务端与DTU设备(客户端)建立连接并
进
行通信。现在遇到一个需求: #### 需求场景 每个设备连接后,服务端需要定时循环下
发
一组指令(例如MODBUS协议采集指令)。**下
发
逻辑**:必须逐条
发
送
,即
发
送
一条指令 → 等待设备返回响应 → 再
发
送
下一条,直到当前设备的所有指令
发
送
完成 → 等待下一次循环开始。#### 当前顾虑 如果直接用
GatewayWorker
的定时器(如Timer::add()),每一轮采集需要等待N次指令交互(
发
送
+响应),耗时较长(可能几秒到十几秒)。**担心阻塞问题:** 如果新设备尝试连接,是否会因为Worker
进
程被占用而无法及时处理? 高并
发
场景下(例如100个设备),这种串行化设计是否会导致性能瓶颈?
问答
gatewayworker
怎么配置缓存
数
据
库?
我这边需要
gatewayworker
转
发
消息的时候把token带上,并要验证token是否在有效时间内,如果没有则会触
发
一次token更新并即时写入缓存。但问题是我目前不知道
gatewayworker
要怎么配置缓存才能和后端项目共同操作同一个
数
据
内容
问答
使用webman-admin 打包
二
进
制
,用
二
进
制
文件运行后报错,源码不会
#### 问题描述 使用webman-admin 打包
二
进
制
,用
二
进
制
文件运行后报错,源码不会。
问答
gatewayworker
并
发
配置
我用
gatewayworker
时为了适应高并
发
将gateway
进
程调成了cpu核的4_3倍,将bussiness
进
程调为cpu核的4_1倍,我的cpu是双核,现在可支持并
发
量上去了,但是刚刚看文档才
发
现上面说的是gateway调成cpu核
数
相等,business调成cpu核
数
的三倍,瞬间懵了,请问大神这是什么情况,还有就是这个cpu核
数
是看我服务器的cpu核
数
吧,那我是要将gateway
进
程调成2吗?我这边是阻塞式IO业务,含有
数
据
库连接和客户端IO
问答
通过TCP 客户端向 workerman
发
送
数
据
时,
发
现一次
发
送
5k 字节时 自动断开链接了,这是什么原因呢?如何解决
通过TCP 客户端向 workerman
发
送
数
据
时,
发
现一次
发
送
5k 字节时 自动断开链接了,这是什么原因呢?如何解决
发
送
几十个字节时正常。 烦请指导,谢谢!
问答
workerman或者getway做客户端,实时
发
送
服务器的日志
数
据
workerman或者getway做客户端,实时
发
送
服务器的日志
数
据
到java平台(ws方式)
问答
发
送
多条send(),抓包变成一次
发
送
???
每次
发
送
数
据
:7b01910600067d,使用Timer定时器每5秒
发
送
一次,共10次。 自定义协议打印
发
送
的
数
据
每5秒都能打印出来。 使用TCP抓包却是一个包
发
送
给终端的!
问答
多协议
发
送
问题
后端采用
gatewayworker
框架,里面有两个协议一个是json协议,一个是text协议,两个协议采用不同的端口号分别为8088和8099。现在有这样一个场景: 当8088接收到
数
据
后,我想
发
给正在监听8099的那个客户端,但是会出现一个问题。
发
送
的
数
据
协议为json,可是8099那个端口是text协议解析的。请问这个情况应该怎么办?
问答
socket_send()函
数
发
送
到这个websocket服务,
发
送
过去收不到,怎么兼容
搭了个websocket服务,js客户端链接通讯没问题,但是我后台要php写一个推
送
,用socket_send()函
数
发
送
到这个websocket服务,
发
送
过去收不到,
发
送
过去直接close
发
有人说是因为wokman服务只能接收websocket协议内容,socket_send()函
数
发
送
的是tcp协议的,需要改TcpConnection.php文件621行的接收
数
据
包代码, 有老司机知道怎么改不,参考链接
问答
webman
二
进
制
打包后,执行stop出现报错 zend_mm_heap corrupted
/build/sentences-core-1.0.0.bin] stop success zend_mm_heap corrupted ``` #### 尝试解决方法: 原本是php8.1的开
发
环境以及使用webman-framework:v1.5.2 webman/console:v1.2.33 ``` #### 调试1 重新拉取初始化webman项目,仅安装了webman/console扩展,测试打包
二
进
制
,打包后执行
二
进
制
文件,虽然没有`zend_mm_heap corrupted`错误,但是ctrl+C还是会有`exit with status 139` 错误,查看社区得知是php-cli的扩展有关,#### 调试2 通过移除composer包来排查 多次尝试,
发
现`webman-tech/laravel-http-client`会导致出现`zend_mm_heap corrupted`错误。通过控
制
变量,重新克隆新webman项目到本地,仅安装`webman/console`,`webman-tech/laravel-http-client`两个包,依旧报错。
问答
进
程中怎么监听
数
据
库?
[](/upload/img/20211218/1861bd9105508a.jpg) 我菜鸟,对workerman的机
制
还不是很了解 在onWorkerStart中,先从mysql获取到指定的member的
数
据
,然后循环这些member,每个member都单独建立ws链接请求。但问题是,
数
据
库是会变动的,会有新的member加入,会有member状态修改。那么在onWorkerStart
进
程执行过程当中,怎么实时获取到最新的member
数
据
呢?
问答
webman项目打包成
二
进
制
可以实现简单的代码隐蔽和防泄露吗?
#### 问题描述 webman项目可以打包成
二
进
制
了,打包后还能获取到源码吗?如果可以,是原原本本的还是混淆的?还原复杂吗?成本高吗?
问答
设备端不间断
发
送
了1000条
数
据
已经停止了 服务端还在处理
数
据
要等一段时间才能结束 为什么?
#### 设备端不间断
发
送
了1000条
数
据
已经停止了 服务端还在处理
数
据
要等一段时间才能结束 为什么?是gateway 将请求加入队列中了吗 我想知道到底是 阿里云端做的处理 还是网关gateway做的处理 怎么实现的 代码在哪里 我想看看 #### 第
二
个问题 在大量请求过来的时候(1000个不间断请求) 服务端处理业务有点慢 设备都停止了 服务端还不停的处理 我想知道 怎么提高业务处理性能 因为观察
发
现服务器的cpu 和内存并没有明显的增加 感觉可能都是在
数
据
库操作 上花费了大量时间php的性能好像不像是瓶颈 我用得think-orm 感觉 连接
数
据
库应该是长连接了 不知道怎么优化
问答
使用workerman的text协议,java socket 客户端如何
发
送
和读取服务端
数
据
啊?
使用workerman的text协议,java socket 客户端如何
发
送
和读取服务端
数
据
啊?和公司java后端人员对接,他们一直说没啥问题,但是就是无法收到我这边的, 估计是
发
送
的格式问题,能否有个java socket client
发
送
和读取服务端返回
数
据
的示例吗?
问答
实例B向实例A中的客户端推
送
数
据
该怎么做效率最高?
目前有这样一个需求 使用的是
GatewayWorker
以前定时器是运行在实例A中的,但是随着推
送
业务量的增加会导致
进
程阻塞,影响客户端的上行效率,所以现在打算专门再跑一个实例B专门处理下行业务的推
送
.实例A 所有的客户端连接和上行
数
据
处理 实例B 仅使用定时器处理io阻塞业务, 查询到
数
据
库中有推
送
需求时向实例A中的指定客户端推
送
数
据
. 想问一下要实现以上功能效率最高的方式是什么?
问答
求助:前台
数
据
传递给后台PHP。后台php获取前台
数
据
以JSON再
发
送
到本地的TCP server。
前台
数
据
传递给后台PHP。后台php获取前台
数
据
再以JSON
数
据
格式再
发
送
到本地的TCP server。tcp server再返回相应的
数
据
到前台。PHP到TCP server是长链接。
问答
gateway
发
包过大时分包
发
送
如果
发
送
的
数
据
过长,怎么分成两个或多个
数
据
包
发
送
呢?
问答
workerman tcp连接正常 设备
发
送
上线信息正常服务端无法下
发
数
据
#### 问题描述 这里写问题描述 workerman tcp连接正常 设备
发
送
上线信息正常服务端无法下
发
数
据
!
问答
如何主动推
送
数
据
到硬件
```php /** * 当客户端
发
来消息时触
发
* @param int $client_id 连接id * @param mixed $message 具体消息 */public static function onMessage($client_id, $message) { // 向所有人
发
送
Gateway::sendToClient; } ``` 这些都是客户端
发
来才能触
发
,回复给客户端 那我要主动推
送
数
据
到客户端(硬件),怎么做呢
« 上一页
1
...
10
11
12
13
14
15
16
17
...
442
下一页 »
« 上一页
13
下一页 »
赞助商
+成为赞助商
请作者喝咖啡
×
🔝