workerman
首页
问答
分享
手册
市场
商业
AI客服系统源码
聊天系统源码
Webman AI
物联网
赞助商
webman
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
问答
请问
数
据
怎么从worker传回到tp框架内,tp框架怎么传递
数
据
到worker内。
要做的是: tp处理业务逻辑,worker作为转
发
,硬件客户端做响应。硬件客户端和服务器要双向传递
数
据
。 我现在做到的是调通服务器和硬件间的tcp连接,通过onMsesage来交互
数
据
。我查看文档http://doc2.workerman.net/326107, 也了解到tp框架可以调用
gatewayworker
向客户端传递
数
据
, 现在不了解的是,怎么从客户端传递
数
据
到tp框架内呢,或者怎么从onmessage把
数
据
传递到tp框架内呢。
数
据
处理完,又怎么传回onmessage呢。
问答
webman中使用thinkorm动态连接
数
据
库后不会自动释放导致
数
据
库大量的sleep
#### 业务场景 我这里类似于sass结构的 框架使用的webman
数
据
库使用的mysql8.0+thinkorm连接 业务需要:
数
据
库是根
据
每家商户
进
行分库存储的,通过中间件
进
行
数
据
库动态切换连接### 出现问题 现在动态连接各方面访问都没有问题,但是
数
据
库连接量一直递增,目前已经跑到了1000多。): Response { //请求控
制
器白名单,不能
进
行
数
据
库模型操作,只用于回调接收
数
据
$whiteController = Config::get('white_api_secret.white_controller$merchant_id); } return $handler($request); } ``` 这是中间件中所执行的动态切换 也就是根
据
商户的id
进
行切换到指定的库我
发
现这样使用连接量大量的sleep
问答
多个TCP端口
数
据
收
发
应该如何设计?
[attach]1478[/attach] 我现在需要接收9001 9002 9003端口的
数
据
,图中展开的文件夹是我运行的内容。现在服务器的内部端口消耗特别大(实际不到100个TCP设备),导致服务器无法正常收
发
TCP报文。 我的需求是: 多个端口收到消息后转
发
至第三方框架,如何设计这个流程(详细流程)? 有红包相
送
,感谢。
问答
webman push插件,能否客户端
发
送
信息给服务器?
webman push插件,能不能通过客户端
发
送
信息给服务器?服务端监听push
进
程事件,就像gateway-worker那样处理业务逻辑,,,, 可以这样,在workerstart 里,生成一个客户端来模拟处理其他的客户端消息
数
据
嘛?  这样操作太麻烦了,,, 请问下各位大佬怎么监听push插件的事件,客户端给服务器端
发
送
信息,从而处理业务逻辑?
问答
新版1.6版本控
制
器参
数
错误类型如何自定义
#### 新版1.6版本控
制
器参
数
错误类型如何自定义 请教各大佬,控
制
器参
数
类型出错后,大家是如何自定义错误的,之前我是通过Respect\Validation
进
行参
数
验证,然后将
数
据
类型手动转换.#### 现在如果参
数
有问题报错 InputTypeException 异常,Input age must be of type int, string given Missing input parameter
问答
关于
GatewayWorker
框架中,多个gateway,businessworker中,不同gateway客户端如何通信疑惑?
连接到gateway_1上, c3和c4连接到gateway_2上 并且c1, c2, c3, c4为同一个分组,如下所示 [attach]2150[/attach] 问题1: c1给c4
发
送
消息,在
gatewayWorker
内部是如何实现的?看了手册,自己理解为如下流程: c1----->gateway_1转
发
消息---------->businessWorker_1处理完业务-------------->gateway_2转
发
消息------------>c4 相当于在businessWorker_1处理完后,通过businessWorker_1和gateway_2已经建立好的TCP连接来转
发
数
据
,内部有什么机
制
吗? 看了
gatewayWorker
框架源代码,还是不太明白,求教各位
问答
thinkphp+
gatewayworker
开
发
硬件设备,返回值如何接收?walkor大神一定要看看!
官方提供thinkphp+
gatewayworker
独立部署模式我已经看过了,还查了很多资料。现在服务端主动向设备(自助洗车机)下达指令是没问题的,但是设备接收到指令后需要有一个返回码,服务端需要判断返回码才能
进
行后续业务。那么问题来了: **thinkphp是通过调用
gatewayworker
的API单向向设备
发
送
消息的,设备接收到后就只会机械地回复给
gatewayworker
(而不是像websocket一样自定义逻辑通过get/post
发
送
给thinkphp),所以thinkphp就无法处理
gatewayworker
接收到的返回码。
文档
序言
Gateway
进
程负责维持客户端连接,并转
发
客户端的
数
据
给BusinessWorker
进
程处理,BusinessWorker
进
程负责处理实际的业务逻辑(默认调用Events.php处理业务),并将结果推
送
给对应的客户端
GatewayWorker
提供非常方便的API,可以全局广播
数
据
、可以向某个群体广播
数
据
、也可以向某个特定客户端推
送
数
据
。配合Workerman的定时器,也可以定时推
送
数
据
。因为绝大多
数
开
发
者的目标是基于Workerman开
发
TCP长连接应用,而长连接应用服务端有很多共同之处,例如它们有相同的
进
程模型以及单
发
、群
发
、广播等接口需求。所以才有了
GatewayWorker
框架,
GatewayWorker
是基于Workerman开
发
的一个TCP长连接框架,实现了单
发
、群
送
、广播等长连接必用的接口。
GatewayWorker
不支持UDP监听,所以UDP服务请选择Workerman。 如果你是一个有多
进
程socket编程经验的人,喜欢定
制
自己的
进
程模型,可以选择Workerman。
文档
sendToClient
```$send_data```
数
据
。如果client_id对应的客户端不存在或者不在线则自动丢弃
发
送
数
据
## 参
数
* ```$client_id``` 客户端连接的client_id * ```$send_data``` 要
发
送
的
数
据
(字符串类型),此
数
据
会被Gateway所使用协议的encode方法打包后再
发
送
给客户端 ### 返回值 因为
数
据
发
送
是异步
进
行的,所以没有返回值。一般来说只要客户端在线就可以
发
送
成功。
发
送
前先可以用Gateway::isOnline判断下客户端是否在线。## 范例 ```php use \
GatewayWorker
\Lib\Gateway; class Events { ...
文档
例子-集群推
送
# 例子1 **``` (要求Workerman版本>=3.3.0) ```** 基于Worker的多
进
程(分布式集群)推
送
系统,集群群
发
、集群广播。$to_connection->send($message); }); // 订阅广播事件 $event_name = '广播'; // 收到广播事件后向当前
进
程内所有客户端连接
发
送
广播
数
据
'/vendor/autoload.php'; // 用来处理http请求,向任意客户端推
送
数
据
,需要传workerID和connectionID $http_worker = new Worker(->get(); } $connection->send('ok'); if(empty($get['content'])) return; // 是向某个worker
进
程中某个连接推
送
数
据
content={$content}```向所有客户端连接推
送
```$content```
数
据
url访问 ```http://192.168.1.4:4237/?
问答
进
程连接
数
量一直在上升,但没有
数
据
通信
环境: centos7.5 、php5.6、apache2.4 服务器:双核双线程、2g内存 workman主
进
程:2个 TaskWorker:6个 启动
进
程后,
进
程连接
数
一直在上升、但是没有
数
据
通信,相同的代码房放到其他服务器上,不会有这种情况,
进
程连接
数
量很稳定 这是主服务器上的截图 [attach]1093[/attach] 这是测试服务器上的截图(测试服务器上开的异步
进
程任务更多
问答
启用一个内部gateway端口,往内部端口
发
送
数
据
时,接收
数
据
发
生异常[已关闭]
是自己
数
据
问题,关闭此问题
问答
GatewayWorker
如何确认客户端是否接收到client
发
出的信息
使用gateway通过client同时给APP客户端
发
送
消息,安卓客户端有时候会
数
据
丢失,接收
数
据
有点问题,现在想说如何确认客户端是否成功收到
数
据
,客户端接收到
数
据
发
一个消息回来,但client只能
发
不能接
问答
纯小白一个关于接收TCP
数
据
的问题
现在有一个硬件客户端
发
送
TCP
数
据
,我需要接收
数
据
并入库,就这么简单;(接收并写入,客户端
发
送
不用管) 我应该怎么技术选型?webman能接收TCP
数
据
吗?
问答
关于
GatewayWorker
的Events::onMessage消息接收问题
问题
二
: 接收前端
发
送
的消息可不可以不使用这个方法(Events::onMessage)?因为我的
GatewayWorker
和API文件是分服务器布署的;
问答
gateworker聊天室
发
送
消息服务器不是100%返回
gateworker聊天室
发
送
消息,会出现服务器不返回
数
据
的情况
问答
想语音录入,但是
数
据
是
二
进
制
数
据
,怎样在event.php文件处理呢?
问答
如何在php后端及时推
送
消息给客户端
环境:Windows php7.1 thinkphp5.1 apache2.4 新
数
据
进
入后台存入redis 保存5分钟 怎么去实时监听redis里面的
数
据
,将5分钟内的
数
据
推
送
到前台?我现在已经使用web-msg-sender实现手动推
送
,怎么实现监听,不需要我去手动触
发
问答
大神们,用的是直接使用TCP传输
数
据
,裸tcp协议怎么实现服务端向客户端实时推
送
数
据
大神们,用的是直接使用TCP传输
数
据
,裸tcp协议怎么实现服务端向客户端实时推
送
数
据
如;require_once __DIR__ . '/Workerman/Autoloader.php'
问答
请问各位大佬如何能打印出
数
据
真实
发
出那一刻的时间戳
在gateway上,我定时调用 Gateway:sendToClient()
发
送
一个带有服务器时间前缀的随机字符串给某个客户端,通过客户端接收到的打印来看,存在某个时间段客户端没有任何打印
数
据
,,过后又能一次性打印出前面几分钟服务器
发
来的
数
据
。请问这是服务器下
发
有延时和粘包吗?如果有可能,服务端从哪里打印更直观看到
发
出去的那一刻时间呢?服务器向客户端
发
送
数
据
的格式为:Y.m.d_H:i:s_xxxxxxxxx 下面是我服务端在调用 Gateway:sendToClient() 时记录的log: a、 !www.workerman.net/upload/20200806/065f2bd0a79178.png) 客户端在05:08分钟、05:12分钟没有打印,而在16分钟的时候的打印是 08、12、16分钟服务器
发
来的
数
据
的拼接字符串
« 上一页
1
...
25
26
27
28
29
30
31
32
...
442
下一页 »
« 上一页
28
下一页 »
赞助商
+成为赞助商
请作者喝咖啡
×
🔝