相信不少人都已经知道tp6.0已经适配swoole.并推出think-swoole 3.0 ,这次就来介绍下tp6中swoole扩展websocket的使用。

Websocket 继承与Http,进行websocket连接之前需要一次HTTP请求,如果当期地址支持websocket则返回101,然后进行连接。也就是说并不是服务支持websocket后,请求每个连接地址都可以进行websocket连接,而是需要预先适配才可以连接。

thinkphp6.0中新增的一项就是Event,websocket服务这块依赖于Event,因此我们需要先创建一个Event listener

执行过后,将会在app目录下看到新增的目录和文件

其中handle是用来处理事件。

参考如图进行修改


Websocket和事件是如何关联的呢?

打开config目录找到swoole.php,修改其中配置信息

接下来就是见证奇迹的时刻,启动服务,打开http://127.0.0.1:8882/demo.html 并打开控制台,执行如下代码,就可以看到页面打印出服务器反馈的信息

注意发送的数据内容格式,demo中存在字段asd