workerman
首页
问答
分享
手册
市场
物联网
webman
AI助手
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
问答
webman-admin的默认
数
据
库是写死了mysql这个名吗?
[截图](/upload/img/20240208/0865c494b0ca31.png) 两个
数
据
库配置文件我都改了,项目也重启了,runtime目录也清空了,但就是还是报mysql
数
据
库配置不存在,
问答
web-msg-sender效率问题
因为我要和其他php系统(MVC框架)一起用,我开始用的是phpsokcet.IO里的方式,
发
送
消息速度特别快,后来
发
现这种方式没法对
发
送
的消息
进
行一些自定义处理(需要读取
数
据
库,查询头像啊,用户等级啊后来换成后台推
送
的方式,
发
现后台推
送
的方式时间上有延迟,至少比phpsokcet.IO的方式延迟1-2s,请问是什么原因呢。完整处理流程 页面点击
发
送
按钮时
发
起ajax请求至web系统=>web系统处理消息请求(查询用户信息头像等级等,格式化消息为html格式)=>web系统通过php的curl方法
发
送
格式化后的消息给workerman
问答
webman1.3版本,启动第
二
个实例失败,提示已经启动
端口是不同的第一个应用8880,第
二
个8881,但是启动第
二
个时提示已经启动,这个是什么情况 用原来的版本是可以启动的,升级到最新版出现这个问题 !
问答
gatewayWorker
和workerman到底啥关系?
#### 问题描述 我看了文档,大体意思是说
gatewayWorker
是基于workerman开
发
的,但我有个问题是,是不是我使用了: ``` composer require workerman/
gatewayWorker
我现在的理解是
gatewayWorker
只是 workerman 的一个插件的样的东西,所以我把项目搞成了下面这样,不知道对不对。/workerman": "^4.1", "workerman/gateway-worker": "^3.1", "ext-curl": "*" } } ``` 另外我要吐槽下
gatewayWorker
的说明文档没有说怎么安装
gatewayWorker
,只说了与 thinkphp webman 结合,单独安装好像只能靠下载那几个示例然后自己改一样。
问答
请问webman中,
数
据
库操作、redis是否是异步?
请问webman中,
数
据
库操作、redis是否是异步? 另外,webman好像没有提供http-client?
问答
php start.php connections怎么分析,每项都是什么
数
据
?
[截图](/upload/img/20230722/2264baf00ac299.png) php start.php connections怎么分析,每项都是什么
数
据
?
问答
gateway
进
程连接分配不平衡
gateway设置的
进
程
数
量为4,在做压力测试时,查看状态结果
发
现4个gateway的connections
数
量相差很大,这样就会出现这种情况,当我继续增加客户端
数
量时,connections连接
数
最大的
进
程占用内存超过128M(php.ini的默认配置)而被杀死重启,怎么能让4个gateway的连接
数
量分布均匀 [attach]1474[/attach]
问答
GatewayWorker
里面$registerAddress没生效
#### 问题描述 客户端和服务端都在同一台服务器,访问GatewayGateway::isUidOnline()
发
现其他端口里的
数
据
访问不了, Gateway::$registerAddress => '该激光设备已下线', 'data' => $ip])); } } ``` #### 重现问题的步骤 在激光断开的时候通过socket通知其他设备 其他设备uid也
进
行了绑定127.0.0.1:1236'; 没有生效 打印输出了一下还是获取当前1238端口下的uid 不知道是什么原因 大神给看一下 这个方法我在很多地方使用 有的时候可以用 有的时候就用不了 还有一个问题
GatewayWorker
问答
推
送
消息部分客户端无法接收到消息
在推
送
消息频率平均一秒10次以上的时候经常出现部分客户端无法收到消息的情况,
GateWayWorker
用sendToAll方法推
送
给当前连接的所有客户端,已确认客户端连接正常,并且推
送
来源消息有推
送
到服务端同样用workerman的群体消息的推
送
方式去推
送
也有类似问题 foreach($ws_worker->connections as $conn) {
问答
谁有PDO类,简单封装的那种,laravel和TP的
数
据
库组件太臃肿
原生PDO
数
据
库类,比laravel、tp
数
据
库类,要快上一倍
问答
redis-queue消费获取
数
据
#### 问题描述 使用redis-queue插件,消费时其他方法如何获取这条
数
据
```php <?
问答
有什么办法能让mysql成为gateway的一个客户端吗?
我现在的架构是mysql http udf 来
发
送
数
据
到gateway,但http因为不是长连接,每次都要建立连接,感觉不是最优的解决办法(用了是可以用的,性能也够用),有没有什么办法让mysql 主动建立一个到gateway的连接,然后保持这个连接,触
发
器或存储过程得到
数
据
后把
数
据
发
给gateway,各位前辈给点建议,用什么办法可以实现这个功能。即gateway只管转
发
数
据
而不查询
数
据
库,
数
据
库是gateway的一个客户端。
问答
怎么验证websocket
数
据
的正确性
像websocket这样的以帧为单位传输的协议 怎么验证
数
据
的正确性呢 比如一个帧的声明长度和实际长度不一致 那么会导致后面的帧解析错位 程序如何检查到这种错误呢
问答
两个不同的tcp服务如何监听在同一个端口上?
通过nginx tcp代理是否可行 ### 通过客户端链接mysql服务测试打印输出
数
据
, ![](/upload/img/20221201/01638873e4ae1e.png) ### MySQL客户端
发
送
过来的
数
据
MySQL客户端
发
送
过来的
数
据
!
问答
GatewayWorker
使用多个应用
#### 问题描述 按照手册将两个应用的端口
进
行了设置,但是使用的过程中
发
现,通过不同的端口号连接两个应用,使用的evnet.php代码,都是SecondApp应用的 https://www.workerman.net/doc/gateway-worker/multi-
gatewayworker
-instance.html 参考手册,里面有个start_web.php文件,这个需要自己创建吗?
问答
tcp长连接中调用post的并
发
问题
业务场景,设备tcp长连接
发
送
数
据
上来,然后我需要调用三次第三方的api,返回给设备,测试大概调取三次api的时间总计在0.4-0.7秒之间,这基本上也是单线程处理一个业务的时间(时间基本花费在post 第三方api上,内部的逻辑操作所消耗的时间几乎可以忽略不计),我开起了16个bussiness
进
程来处理业务逻辑,测试全部处理500个并
发
大概需要10s左右的时间,但是实际的场景中,前500个并
发
与后500个并
发
中间的时间间隔大概只有3秒中,越来越多的tcp链接就会导致业务阻塞,CPU使用率就会到100%,然后服务器就炸了,求解决方案。 现在我只能想办法增加并
发
数
量,增加服务器配置或者分布式,目前服务是双核4G内存的centos。
问答
gateway有没有这样方法给除了当前客户端
发
送
消息的方法
就是给除了当前客户端的其他客户端
发
送
消息,排除当前客户端
分享
docker分布式部署
gatewayworker
# register注册中心 register注册中心 ,参考案例git仓库:https://e.coding.net/adminv/
gatewayworker
/
gatewayworker
-register.git) ------------ # gateway网关和 business gateway网关和business处理 ,参考案例git仓库 https://e.coding.net/adminv/
gatewayworker
/
gatewayworker
-business.git ## 1: 修改 仓库中的 start.php ,register_ip为Register宿主机ip !~ docker build -t gateway . ~~~ ## 3:启动容器服务 暴露gateway 8282端口到宿主机8282, 暴露2000-2003(register联系gateway
进
程
文档
与其它框架整合
3、ThinkPHP提供的页面的js
发
起websocket连接,连接workerman 4、连接后给Workerman
发
送
一个
数
据
包(包含用户名密码或者某种token串)用于验证websocket连接属于哪个用户5、仅在ThinkPHP需要向浏览器推
送
数
据
时,才调用workerman的socket接口推
送
数
据
。 6、其余请求还是按照原本ThinkPHP的HTTP方式调用处理。**总结:** 把Workerman作为一个可以向浏览器推
送
的通道,仅仅在需要向浏览器推
送
数
据
时才调用Workerman接口完成推
送
。业务逻辑全部在ThinkPHP中完成。ThinkPHP如何调用Workerman socket接口推
送
数
据
参考[见常见问题-在其它项目中推
送
](push-in-other-project.md)一节 **ThinkPHP官方已经支持了workerman
问答
问一个关于bindUid和sendToUid的问题
假如有2个gateway
进
程gA,gB,2个woker
进
程wA,wB。 (1) 用户1从gA连接到wA,然后bindUid到gA上了。(2) 用户2通过gB连接到wB, (3) 用户2想给用户1
发
数
据
。 请问用户2能调用sendToUid(1,data)这种形式给用户1
发
数
据
吗?用户1的
数
据
在gA上,用户2在gB上,gB怎么获取gA的uid
数
据
?
« 上一页
1
...
88
89
90
91
92
93
94
95
...
402
下一页 »
« 上一页
91
下一页 »
赞助商
+成为赞助商
×
请作者喝咖啡
×
🔝