websocket 业务提醒 .net_swoft2 教程系列-Websocket 流程及配置

WebSocket 服务基于现有 swoole ws server 上的进一步封装实现。即开启 websocket 服务的同时可以处理 http 请求。

快速的搭建使用 websocket server

支持完全的自定义流程处理,如果你不想使用框架自带的处理

支持消息阶段的数据解析和路由调度

通用的消息发送方法封装(send, sendToSome, sendToAll, broadcast 等)

websocket 解决的问题如消息推送,聊天室,等需要服务器和客户端长期交互的场景,swoft 帮助我们简化了 websocket 开发流程。

连接处理流程

181f4f4de4885317c24015bbdeabc2f5.png

配置参数

websocket 的 host, port 等配置是都是完全可以自定义的。 配置需要编辑 app/bean.php 文件,下面列举了一些简单的配置,你也可以自由组合同时提供多种服务。

websocket server 的默认端口是 18308
 'wsServer' => [
 'class' => WebSocketServer::class,
 'port' => 18308,
 'on' => [
 // Enable http handle
 SwooleEvent::REQUEST => bean(RequestListener::class),
 ],
 'debug' => 1,
 // 'debug'   => env('SWOFT_DEBUG', 0),
 /* @see WebSocketServer::$setting */
 'setting' => [
 'log_file' => alias('@runtime/swoole.log'),
 ],
 ],

可配置项用于 ws server bean 配置,除了 class 其他都是 ws server 的属性。

常用选项 ( mode 与 type 未介绍 )

配置项 和 httpServer 基本一致
  • class 指定 websocket server 的处理类
  • port 指定 websocket server 的端口
  • listener 指定其他一同启动的服务,添加端口服务监听,可以多个。
  • rpc 启动 RPC 服务
  • process 启动自定义用户进程
  • on 配置监听的事件
  • 注册事件、设置对应事件的处理监听,事件触发组件调用,在任务里面使用
  • setting 这里是参考 Swoole Server 配置选项
  • pidFile 设置进程 pid 文件 位置,默认值 @runtime/swoft.pid

Websocket Server 命令

在项目目录下执行如下命令可以看到 websocket server 的管理命令. 跟 http server 的管理命令一致。

$ php bin/swoft ws
Description:
 There some commands for manage the webSocket server

Usage:
  ws:{command} [arguments] [options]

Commands:
  start    Start the webSocket server
  stop     Stop the running server
  restart  Restart the running server

Options:
 -h, --help  Show help of the command group or specified command action

前台运行

php bin/swoft ws:start

后台运行

php bin/swoft ws:start -d
如果你注册了 ws 的路由处理模块,现在就可以通过浏览器等ws客户端连接上server了。

关于 websocket 模块 请观看后续文章 谢谢

来源:https://8code.net/index/index/article/id/48

以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要

PHP进阶架构师>>>视频、面试文档免费获取​shimo.im
9e960cab7382acbccd71934a03662600.png

或 者关注咱们下面的知乎专栏

PHP架构师圈子​zhuanlan.zhihu.com
8f0f5823fa12f79e6f7f09f0f9073a2f.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值