前言php
ThinkPHP即将迎来最新版本6.0,针对目前愈来愈流行Swoole,thinkphp也推出了最新的扩展think-swoole 3.0。html
介绍react
即将推出的tp6.0,已经适配swoole.并推出think-swoole 3.0,而且默认适配了socketio。和2.0版本在使用方法上面有些许不一样。web
Websocket 继承与Http,进行websocket链接以前须要一次HTTP请求,若是当期地址支持websocket则返回101,而后进行链接。也就是说并非个人服务支持websocket后,请求每一个链接地址均可以进行websocket链接,而是须要预先适配才能够链接。thinkphp
参数配置apache
1json 2websocket 3swoole 4cookie 5 6 7 8 9 10 11 12 13 14 |
|
连接:https://pan.baidu.com/s/1v5gm7n0L7TGyejCmQrMh2g 提取码:x2p5
免费分享,可是X度限制严重,如若连接失效点击连接或搜索加群 群号518475424。
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一样还有许多其余的新功能,这些功能须要你们去摸索尝试。我也会在接下来的文章中,一块儿与你们分享个人使用过程。