workerman
首页
问答
分享
手册
市场
商业
AI客服系统源码
聊天系统源码
Webman AI
物联网
赞助商
webman
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
文档
getClientIdByUid
# Gateway::getClientIdByUid ## 说明: ```php array Gateway::getClientIdByUid(mixed $uid); ``` 返
回
一个数组,数组元素为与如果没有在线的client_id则返
回
一个空数组。 此方法可以判断一个uid是否在线。 注意:返
回
值为与uid绑定的所有在线的client_id数组。因为已经下线的client_id会自动与uid解绑,所以已经下线的client_id
不
会出现在返
回
值中。 ## 参数 * ```$uid``` uid,可以是数字或者字符串。## 返
回
值 返
回
一个client_id的数组 注意:如果是客户端断网断电等极端情况掉线,客户端的onClose
回
调可能无法及时触发,参见[onClose](on-close.md)说明。也就是说对应客户端出现断网断电等极端掉线情况返
回
值中可能包含已经掉线的客户端client_id。这种情况需要[心跳来检测](heartbeat.md)已经掉线的客户端。
分享
Docker学习笔记分享
不
同开发者的系统和配置
不
同易导致环境差异问题,而 Docker 可通过 Dockerfile 明确指定 PHP 版本、扩展及依赖项,确保开发环境一致,提高开发
效
率。 其次,简化部署。开发环境构建好的 Docker 镜像可直接在
生
产服
务
器运行,避免手动安装配置的繁琐,降低部署风险。 最后,提供资源隔离。Docker 容器为 PHP 应用提供独立的文件系统、网络和进程空间,一个应用问题
不
影响其他应用和系统服
务
,提高稳定性和安全性,还便于快速扩展和迁移。) 希望docker的服
务
是后台运行的 ``` docker run -d [容器名] 有些并
不
可行(一般-it较好) ``` ### 查看容器后台日志 ``` docker logs [容器id] `http推送镜像 修改配置文件 /etc/docker/daemon.json 如果
不
生
效
,重启docker服
务
``` vim /etc/docker/daemon.json { "registry-mirrors
问答
[已解决]希望Webman AI支持文档上传和分析功能
最近在研究国产的一个AI,月之暗面Kimi,我去官网试了下,
回
答质量还
不
错,随后注册了api体验。发现该api支持pdf或doc文件上传
回
答,想接入Webman AI使用,但是官网的文档只有Python的示例,这我就看
不
懂了 所以希望我们的Webman AI能够支持一下,感谢Webman平台 附上官方
问答
进程数设置问题
会有明显的
效
率问题吗?要怎么测试来对比。 如果该机器运行多个gatewayworker实例,进程数每个实例
不
也都是可以 gateway进程设置为1,worker进程设置为3这么设置吗?那么单个实例为什么进程数
不
可以多设置些呢?求大神解惑!
问答
think-validate使用场景验证报错
'email' => 'require|email' ]; protected $message = [ 'name.require' => '名称
不
能为空', 'name.length' => '名称长度在3-25个字符', 'password.require' => '密码
不
能为空', 'password.length' => '密码长度在8-16个字符', 'email' => '请输入有
效
的邮箱地址' ]; protected $scene = [
问答
GlobalData分布式变量共享组件
不
能外网访问吗?
我在一台服
务
器上运行了GlobalData的服
务
端,在另外一台用客户端链接为啥说无法链接到那个地址,我写的那台服
务
器的ip跟端口,端口也开放了的,这是为啥啊
问答
不
阻塞当前进程?
我用Timer::add方式,也
不
行。 我业
务
是数据提供方是onMessage方式异步大量数据发送给我,而且想用共享数据方式存起来,可以
不
同进程访问
问答
【已解决】请教用 webman/push 推送K线
#### 问题描述 通过 `AsyncTcpConnection`向第三方服
务
订阅了K线数据存在缓存中。能用`webman/push`给客户端推送数据吗?plugin.webman.push.app.app_key'), config('plugin.webman.push.app.app_secret') ); // 给订阅 user-1 的所有客户端推送 message
事
件的消息频道的消息,也就是用户uid为1的用户消息 var kline_channel = connection.subscribe('kline_1m'); // 当user-1频道有message
事
件的消息时function (data) { // data里是消息内容 console.log(data); }); }) </script> ``` 如果 `webman/push`
不
适用的话connection->id]); echo "Client {$connection->id} unsubscribed\n"; } } } ``` 如上ws服
务
,
分享
GatewayWorker socket.io 版本
# GatewayWorker socket.io 版本 ### 用GatewayWorker实现socket.io,基于WebSocket,
不
支持http长轮询。WORKER_NAME=业
务
进程 WORKER_COUNT=16 #使用共享变量,目前只有服
务
器端的ack用到,
不
使用服
务
器端的ack可关闭 USE_GLOBALDATA=true #变量共享组件127.0.0.1 GLOBALDATA_PORT=11113 GLOBALDATA_ADDRESS=127.0.0.1:11113 ``` ### # IoEvents.php文件参考 > 一个socket.io
事
件对应一个静态方法write_log('IoEvents-HandleAck==》'.json_encode_cn($msg)); } } ``` ### 客户端判断全部连接成功以connect_success
事
件为准> 比如判断连接成功后登录 ### 发送消息 > 需要调用emit_msg发送消息,emit_msg方法参考如下 第一个参数是
事
件名称,第二个参数是消息内容,消息内容可以是数组,也可以是字符串,数字等
问答
thinkphp6使用workerman处理close机制
#### 问题描述 怎么能做到心跳尝试3次无返
回
,隔10分钟再重连,还无
回
应,才认为离线了 #### 为此你搜索到了哪些方案及
不
适用的原因 现在是设置心跳超过心跳时间没有消息就直接断开了
问答
ajax调用一个方法,该方法里面调用Gateway::sendToClient
ajax调用一个方法,该方法里面调用Gateway::sendToClient,怎么等待Gateway::sendToClient给出客户端的反馈呢,如果没有返
回
的话,ajax请求完了直接就断了,浏览器页面就收
不
到客户端的返
回
数据了
问答
workman只能cli模式吗?如何接受php web传递的参数
我们有一个
回
调需求。现在是有消息了,别人就会调用我们的
回
调接口,http curl的。收到消息之后。我们想放到workman里面去处理。在php web下使用 AsyncTcpConnection好像
不
行,直接报错了。各位大佬有其他办法调用吗?
问答
timer 删除出现问题!
[截图](/upload/img/20221202/02638977e4850e.png) 本来执行了一天好好地, 突然删除
不
掉定时器了 导致一直1s执行 订单式打印的返
回
del 是true,,[截图](/upload/img/20221202/02638978245a5c.png) id是118 del返
回
的是true 但就是没删掉 还在一直循环执行
分享
Thinkphp+Webman=Pandaman 轻框架分享
很多composer包都
不
适用于这种持久环境,这种问题及其隐秘,你
不
打印根本
不
可能知道。 > .....程序可以做些运行前的工作,比如注册路由 注册插件 webman的bootstraps可以在这里实现 内置实现了thinkphp的services ->appBoot() // 运行链 核心业
务
的运行模块启动器 private array $bootstraps = [ //加载全局容器配置 LoadProviders::class, // 加载
事
件配置> 相对注释 属性类更加优雅,内置的路由,控制器 服
务
注册都是用属性类实现的 ```php #[GET] #[Middleware([Test::class])] publicfunction index(): string { return 'index'; } ``` > 总体的中间件,
事
件,缓存,日志 等等 都和thinkphp webman
问答
定时器是否是阻塞的?
#### 问题描述 原文档中:添加的定时任
务
在当前进程执行(
不
会启动新的进程或者线程),如果任
务
很重(特别是涉及到网络IO的任
务
),可能会导致该进程阻塞,暂时无法处理其它业
务
实际运行下来,发现是非阻塞的connection->send('hello world'.date("Y-m-d H:i:s")); }; \Workerman\Worker::runAll(); ``` 浏览器同时发起了9个请求 页码同时返
回
收到
问答
webman-admin 如何指定菜单需要的操作?
我删除了 添加、更新、删除,但是后面框架还是会重新
生
成这三个操作权限(我只需要 查询,
不
需要 添加、更新、删除) 麻烦知道的大佬告知下 !
分享
使用WhisperX+pyannote-audio 完成语音转录、说话人分离、语音转录转译
最近一直在利用空闲时间调研说话人分离技术,经过一段时间的技术调研和测试,今天终于完成了一个基本有
效
的试验版本-[WhisperXSpeechSeparation](https://github.com/**Clustering (聚类)**:基于向量相似度将
不
同人声聚为
不
同说话人 在 WhisperX 的集成版本中,pyannote.audio 用于: * 自动判断音频中有多少个
不
同的人在讲话 *| ❌ | | 说话人识别 | ❌ | ✅(通过 pyannote) | ✅ | | 推理性能 | 中 | ✅ 高
效
- ## 🧩 WhisperX 三大常用命令总结 WhisperX 的 CLI(命令行接口)设计非常统一, 只要记住「`输入文件` + `模型选择` + `功能参数`」三要素,就能快速完成各种任
务
。在转录的基础上自动区分
不
同说话人(如会议、播客场景)。
问答
有些客户端反复断开重连
#### bug描述 有些客户端有时会出现断开连接,发现是服
务
端主动触发onclose我是将客户端发过来的所有消息在onmessage接收到后转化到对应
事
件的缓存队列里,然后再来处理,然到会和这个有关系吗? 或者哪里可以监听到onclose触发的地方呢?
问答
关于websocket端口问题
[attach]206[/attach] 我在聊天室的那个项目里修改了start_web.php里面的端口,将他改成了8081之后就一直出现这个问题,之前用的端口55151就没
事
。还有我在网上看的websocket有个提交的地址,前面的端口和后面的对应
不
上也可以执行成功么 [attach]207[/attach] 这里的端口和 [attach]208[/attach] 这里的没必要统一端口么
问答
[已解决]关于 webman/push 私有频道如何动态根据订阅userId推送
plugin.webman.push.app.app_key'), config('plugin.webman.push.app.app_secret') ); $userId=1; // 给订阅 user-1 的所有客户端推送 message
事
件的消息$userId, 'message', [ 'from_uid' => 2, 'content' => '你好,这个是消息内容' ]); ``` `$userId`在
不
写死的情况下,如何监听或者获取到当前订阅的
« 上一页
1
...
159
160
161
162
163
164
165
166
...
483
下一页 »
« 上一页
162
下一页 »
赞助商
+成为赞助商
请作者喝咖啡
×
🔝