首页
下载
文档
社区
视频
捐赠
源代码
赞助商
AOT 编译器
AI 助理
商业产品
PHP AOT 原生编译器
Swoole-Compiler 代码加密器
CRMEB 新零售社交电商系统
登录
注册
全部
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
发表新帖
websocke服务器
### 问题描述 建好一个服务器并启动后,怎么去调用这个服务向前端发送消息 ### Swoole版本,PHP版本,以及操作系统版本信息 swoole:4.5.6 php:7.4.12 centos7.8 ### 相关代码 ```php 请将代码粘贴至此处(请勿用截图) ```$this->ws = new Swoole\WebSocket\Server('0.0.0.0', 9502); //监听WebSocket连接打开事件 $this->ws->on('open', function ($ws, $request) { echo "fd:",$request->fd,",server:";var_dump( $request- >server); file_put_contents('fd.txt',$request->fd.",",FILE_APPEND); $ws->push($request->fd, "hello, welcome\n"); }); //监听WebSocket消息事件 $this->ws->on('message', function ($ws, $frame) { echo "Message: {$frame->data}\n"; $ws->push($frame->fd, "server: {$frame->data}"); }); //监听WebSocket连接关闭事件 $this->ws->on('close', function ($ws, $fd) { echo "client-{$fd} is closed\n"; }); $this->ws->start(); ### 你期待的结果是什么?实际看到的错误信息又是什么? 在另一个脚本中调用这个服务向前端发送消息
发布于5年前 · 0 次浏览 · 来自
提问
嗯呢
### 问题描述 建好一个服务器并启动后,怎么去调用这个服务向前端发送消息 ### Swoole版本,PHP版本,以及操作系统版本信息 swoole:4.5.6 php:7.4.12 centos7.8 ### 相关代码 ```php 请将代码粘贴至此处(请勿用截图) ```$this->ws = new Swoole\WebSocket\Server('0.0.0.0', 9502); //监听WebSocket连接打开事件 $this->ws->on('open', function ($ws, $request) { echo "fd:",$request->fd,",server:";var_dump( $request- >server); file_put_contents('fd.txt',$request->fd.",",FILE_APPEND); $ws->push($request->fd, "hello, welcome\n"); }); //监听WebSocket消息事件 $this->ws->on('message', function ($ws, $frame) { echo "Message: {$frame->data}\n"; $ws->push($frame->fd, "server: {$frame->data}"); }); //监听WebSocket连接关闭事件 $this->ws->on('close', function ($ws, $fd) { echo "client-{$fd} is closed\n"; }); $this->ws->start(); ### 你期待的结果是什么?实际看到的错误信息又是什么? 在另一个脚本中调用这个服务向前端发送消息
赞
0
收藏
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
登录
后参与评论
评论
2020-11-18
鲁飞
先看文档[快速启动](https://wiki.swoole.com/#/start/start_ws_server)理解下吧。
赞
0
回复
2020-11-18
嗯呢
回复
鲁飞
这个我理解啊,但如果我想要主动给前端群发消息呢?我在管理后台需要一个群发功能,怎么做
赞
0
回复
2020-11-18
嗯呢
回复
鲁飞
意思是我要的是主动群发,不是当前端发起请求后触发的。后端主动群发消息
赞
0
回复
2020-11-18
鲁飞
回复
嗯呢
理解那你就应该知道,群发应该调用方法去遍历连接,或者你自己处理过fd去遍历连接,然后去push... 文档中也有群发的示例 https://wiki.swoole.com/#/websocket_server?id=websocketserver
赞
0
回复
2020-11-18
嗯呢
回复
鲁飞
我知道啊这个,我是要在 new Swoole\Websocket\Server这个文件之外的地方发送消息。意思是这个服务器只能和我的业务代码写在一堆吗?服务器没有独立出来啊
赞
0
回复
2020-11-18
嗯呢
回复
鲁飞
没独立出来,每次改代码都有重启服务,太麻烦了
赞
0
回复