thinkphp 6.0 swoole扩展websocket使用教程
前言
thinkphp即将迎来最新版本6.0,针对目前越来越流行swoole,thinkphp也推出了最新的扩展think-swoole 3.0。
介绍
即将推出的tp6.0,已经适配swoole.并推出think-swoole 3.0,并且默认适配了socketio。和2.0版本在使用方法上面有些许不同。
websocket 继承与http,进行websocket连接之前需要一次http请求,如果当期地址支持websocket则返回101,然后进行连接。也就是说并不是我的服务支持websocket后,请求每个连接地址都可以进行websocket连接,而是需要预先适配才可以连接。
参数配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
handler和parser大大方便了自定义websocket服务,默认系统集成socketio。
本文主要介绍如何使用socketio,这里假设大家有socketio有一定了解和使用基础。
socketio默认会在请求地址后加相应的参数
同时,socketio默认情况下,会认为 http://url/socket.io/ 是支持websocket服务的地址。
而在tp-swoole3.0内部已经对该地址请求进行了处理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
tp6.0,插件注册采用了service方式进行了注册,可在tp-swoole 服务注册文件中查看路由注册信息,如果想自定义链接规则,则可以覆盖该路由。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|
socketio默认使用demo
1 2 3 4 5 6 7 |
|
websocket路由配置方法
在app目录下新建websocket.php文件,其中需要注意,由于使用了反射,闭包参数名称不能随意定义,不然无法注入。第一个参数是websocket,是当前websocket的server对象,第二个参数data是客户端发送的数据。其中socketio emit的第一个参数和websocket::on的第一个参数一致,作为事件名称。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
参考如上方法即可使用全新的websocket服务。当然tp-swoole3.0同样还有许多其他的新功能,这些功能需要大家去摸索尝试。
我也会在接下来的文章中,一起与大家分享我的使用过程。
推荐阅读
-
[视频教程] 使用composer安装使用thinkphp6.0框架
-
thinkphp 6.0 swoole扩展websocket使用教程
-
使用swoole扩展php websocket示例
-
使用swoole扩展php websocket示例
-
[视频教程] 使用composer安装使用thinkphp6.0框架
-
thinkphp 6.0 swoole扩展websocket使用教程
-
在php中使用swoole扩展时,server端的回调函数中如何使用thinkphp框架的方法?
-
使用swoole扩展php websocket示例_PHP教程
-
使用swoole扩展php websocket示例
-
使用swoole扩展php websocket示例_PHP