10:测试laravel-swoole
Laravel-swoole的优势就是将swoole插件集成至laravel-s插件中,当前laravel-s插件启动的时候,同时持久化的启动了swoole,不需要我们再服务器端再启动一次swoole。
经过我们上边的配置,基本上就已经启动了swoole,经过我们的测试,原生情况下,我们的swoole是没有问题的,如果在框架中测试出问题,那么只能是我们框架这边配置的问题,关于这方面laravel-swoole为我们提供了日志:
storage/logs目录下
我测试使用的前端代码:
typescript
复制代码
import { useRouter } from "vue-router"; import { PropType, ref, watch, reactive, toRefs, inject, provide, onMounted } from "vue"; // 引入公共js文件 import utils from "/@/assets/js/public/function"; // 定义返回的类型 interface dataRef { close: () => void; } export default { name: "Drawer", // VUE3语法 setup函数 // setup官方文档:https://www.vue3js.cn/docs/zh/guide/composition-api-setup.html#参数 setup(props: any, content:any): dataRef { /** * @name: 声明data * @author: camellia * @email: guanchao_gc@qq.com * @date: 2021-01-10 */ const data = reactive({ drawerShow: common.drawerShow, }); /** * @name: 关闭组件 * @author: camellia * @email: guanchao_gc@qq.com * @date: 2021-01-10 */ const close = () => { data.drawerShow = false; common.drawerShow = data.drawerShow; } // 初始化客户端套接字并建立连接 var sock = new WebSocket("wss://guanchao.site/websocket/"); // 连接建立时触发 sock.onopen = (event) => { console.log("Connection open ..."); change(); } // 接收到服务端推送时执行 sock.onmessage = (event) => { var msg = event.data; console.log(event); console.log("webscoket 接收到返回消息!"); }; // 连接关闭时触发 sock.onclose = (event) => { console.log("Connection closed ..."); } // 发送消息给webscoket const change = () => { var msg = "你好啊~"; // 将输入框变更信息通过 send 方法发送到服务器 if (sock.readyState === 1) { sock.send(msg); console.log('消息发送---success!'); } else { console.log('消息发送---faild!'); } }; /** * @name: 将data绑定值dataRef * @author: camellia * @email: guanchao_gc@qq.com * @date: 2021-01-10 */ const dataRef = toRefs(data); return { close, ...dataRef } }, }
前端console显示:
我这里基本上就算是链接成功了。
更详细的配置:请参考laravel-s官方文档:
有好的建议,请在下方输入你的评论。
欢迎访问个人博客 guanchao.site
欢迎访问我的小程序:打开微信->发现->小程序->搜索“时间里的”