workerman
首页
问答
分享
手册
市场
商业
AI客服系统源码
聊天系统源码
Webman AI
物联网
赞助商
webman
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
问答
物联网消息推
送
用push.js还是用Gateway绑定推
送
呢
#### 问题描述 现在有做一个物联网系统,我们中间协议用的阿里云的mqtt,现在要做一个
数
据
大屏,把设备的消息实时的推
送
到大屏上,或者在大屏修改设备的配置,请问消息推
送
是用push.js和还是Gateway
问答
请教关于全局
数
据
有一个较大的
数
据
文件,好几个G(L),是N个为K字节元素的
数
组(L = N*K)。现在提供一个http的接口,根
据
id返回第x个元素。 如果nginx+php-fpm,每次都要读文件,很耗时间。但根
据
文档尝试都失败了。特来请教,如何使这个
数
据
能够成为全局变量,只load一次。谢谢! 代码如下,客户端每次访问,耗时都几百ms,说明每次都在读文件。 ```php <?
问答
GatewayWorker
监听多个端口对应不同通信协议如何做?
#### 问题描述 做物联网项目开
发
,需要在一台服务器上配置不同的端口来采集不同的设备
数
据
, 比如设备A是modbus协议,连接的8020端口 比如设备b是text协议,连接的8021端口 应该如何做呢能否只启动一个
GatewayWorker
服务就能实现? 是否能够动态添加新的端口与通讯协议
问答
AsyncTcpConnection连不上tcp的响应事件
/Workerman/Autoloader.php'; define('PING_TIMEOUT', 5); $task = new Worker(); //
进
程启动时异步建立一个到www.baidu.com连接对象,并
发
送
数
据
获取
数
据
$task->onWorkerStart = function($task) { $connection_to_baidu = new AsyncTcpConnectionconnection_to_baidu->onWorkerStart = function($connection_to_baidu) { echo "3333"; }; // 当连接建立成功时,
发
送
http请求
数
据
$connection_to_baidu->onConnect = function($connection_to_baidu) { $connection_to_baidurunAll(); ``` 比如现在没开8080端口 1 AsyncTcpConnection 连不上ws,应该在onError里面有响应事件啊,为什么什么都没收到 2 如果端口因为某些问题导致接收不到
数
据
问答
调用一次GatewayClient向客户端
发
送
数
据
,结果总是收到两次
数
据
```php require_once './GatewayClient/Gateway.php'; use GatewayClient\Gateway; Gateway::$registerAddress = '172.18.117.95:1238'; $client_id=$_GET; $arr=array( 'box'=>$_GET, 'oid'=>$_GET, ); $data=json_encode($arr); Gateway::sendToClient($client_id, $data); ```
问答
疑问:webman是基于workerman的框架,mysql既然是阻塞的,如何做到高并
发
呢?
#### webman是基于workerman的框架,mysql既然是阻塞的,如何做到高并
发
呢?根
据
官方手册,workerman是多
进
程架构,各个工作
进
程处理请求,而mysql是阻塞操作,也就是说要遇到耗时的
数
据
库操作是要等待的。那么我不能理解的是,既然这里出现阻塞,岂不是拖累了框架的性能嘛。workerman每个
进
程都是使用epoll的非阻塞运行方式,那我理解应该是对http请求用这个方式处理,也就是事件机
制
,那mysql在这里到底会不会拖累这个结果呢,比如一个http请求需要等mysql的
数
据
结果,那个这个是不是等结果出来再响应,等待的时间继续下一个请求?那么问题来了,如果出现一个超长时间阻塞的case(在真实的公网环境下一定有概率
发
生,DNS查询卡住、网络请求超时等),那么这个
进
程岂不是被阻塞了嘛,那是不是就要靠其他
进
程来处理更多请求,那不是要开好多
进
程
问答
同一个客户端瞬间
发
送
同一请求2次
用workman的http server服务,同一个客户端瞬间
发
送
同一请求2次 服务端会有并
发
问题么
问答
第三方使用Gateway.php推
送
问题
在其他框架里面用 Gateway.php 向workman推
送
,客户端收到后直接close了,也没有接收到
数
据
,这是什么原因呢
问答
gateway做了一个TCP长连接服务器运行了一段时间后出现了很多占用端口的情况
使用gateway做了一个TCP长连接服务器,gateway.php
进
程开到了100,businessworker.php
进
程开到了200,程序启动无报错,但运行一断时间后,出现了很Warning: stream_socket_server[问题截图](//www.workerman.net/upload/20201204/045fc9e0df0baf.jpg) 查看日志
发
现连接只有收到
数
据
包而没法
发
送
数
据
包。
问答
关于worker的busy问题
我用
gatewayworker
做了一个客服系统,但是在使用中,经常会遇到 无法连接的问题。于是通过手册介绍的方法
进
行了调试。 
发
现有一个
进
程是busy然后能看到是
发
送
一个原子的 cas命令 !为了保证对
进
程之间的
数
据
的一致性,我采用了globaldata组件,并且为了保证操作的唯一性,我用了cas 操作。根
据
手册的写法 ```php do { $old_value = $new_value = $global->user_list; $new_value[] = 4; } while(!
问答
workerman做聊天时,怎么判断每次请求的
数
据
是安全当前用户登录下的
数
据
?
workerman做聊天时,怎么判断每次请求的
数
据
是安全当前用户登录下的
数
据
?
问答
怎么设置websocket来接收hex模式下的16
进
制
数
据
问答
大家认为workerman有必要在程序中用
数
据
库连接池吗? 讨论一下。
### 大家认为workerman有必要在程序中创建
数
据
库连接池吗? * 我认为workerman没必要 ,做一个断线重连即可。因为不是多线程,或协程,所以一个
进
程中从请求来临到请求结束都用一个
数
据
库连接,下一个请求来临只要这个链接还有效还可以接续用,线程不会随着请求的结束而结束,连接池创建多个
数
据
库连接只能是浪费。请求结束会销毁掉所有资源,但是做一个外部的连接池(非程序中)比如SMProxy有必要,外部程序做连接池,取来即用,不和
进
程资源一起销毁。* 而swoole协程和java的线程有必要
数
据
库连接池,因为协程不是从上到下执行,有可能多个请求同时在被一个
进
程在处理,有可能并行对
数
据
库的操作,如果还是用一个连接会出现问题,协程或者线程需要自己的连接资源无论协程和线程都有可能随时销毁,不是和
进
程的生命周期一样同生共死,创建连接池能避免重复生成连接带来的消耗。
问答
使用gateway的tcp长连接物联网设备,如何查看设备传来的
数
据
除了是把传过来的
数
据
都存入
数
据
库,还有没有可以实时查看的办法,我看别人给我
发
的类似于这种是怎么弄的 
问答
workerman4.x withFile
发
送
文件流问题
'Content-Range' => 'bytes 0-8888321/8888322' ]); $connection->send($response); 以上这样设置无法使用流来
发
送
问答
GatewayWorker
WINDOW服务器最大能支持多少对话 能支持上万吗 还是
数
量是指同事在线人
数
是吧
GatewayWorker
WINDOW服务器最大能支持多少对话 能支持上万吗 还是
数
量是指同事在线人
数
是吧
问答
webman启动
gatewayworker
之后报错
#### 问题描述 我在webman项目安装
gatewayworker
之后,在复
制
一些文件,就是想启动多个
gatewayworker
,可以启动,但是有报错 #### 程序代码或配置 !
问答
Redis队列 怎么持久化保存
数
据
?
#### 问题描述 composer require webman/redis-queue 如果遇到重启 会不会造成redis内存
数
据
丢失,有没有办法持久化
数
据
重启后不会丢失 或者有没有办法 在丢失后补充
数
据
的方案
分享
php怎么跟硬件交互
统软云wifi墙壁开关,120一台,有一路
二
路三路的,分别可控
制
对应路
数
的灯光,同样可以连无线,可通过小程序和接口远程控
制
,订单到期后自动关闭,客人仍然可通过按下开关再次开灯,但1分钟后仍然后自动关闭,统软云wifi墙插,150一台,跟普通的墙壁插座外观上没有任何区别,但可以连无线,可通过接口和小程序远程控
制
,机麻、饮水机等电器插上面就可以远程控
制
其通电了; 先看官方文档: 消息推
送
【上行】 当设备状态
发
生变化时看了文档之后我们就会
发
现,有两方面需要处理: 1.设备的状态等变更是会通知给我们指定的地址,我们在指定的地址POST接受
数
据
然后做
数
据
处理就可以,所以这里就不细说了,如果有不清楚的可以参考官方文档2.控
制
设备下
发
指令,给设备下
发
指令控
制
设备,我们主要说一下这里。这里开始处理自己的应用逻辑*/ } ``` 其他的操作小伙伴们直接看文档吧,调用方式还是很简单,URL+自己的APPI_ID+签名sign+时间戳ts,然后注意是GET还是POST请求方式,然后把参
数
带
进
去就
问答
如何在指定时间推
送
消息到H5,然后关闭当前页面
#### 问题描述 目前使用的webman安装
gatewayworker
插件,已经实现websocket连接后主动向H5
发
送
消息 现在有个问题就是怎么在指定的时间去推
送
,需要及时性很高 例如:
发
布一个收集表,当结束时间到了,能主动
发
送
消息到H5关闭当前已经打开在收集表页面的用户页面(这个结束时间可能在一个月之后的某个时间) 目前想到的是 用定时任务每秒去查询结束时间是否超过当前时间,然后判断是否
发
送
消息
« 上一页
1
...
73
74
75
76
77
78
79
80
...
450
下一页 »
« 上一页
76
下一页 »
赞助商
+成为赞助商
请作者喝咖啡
×
🔝