分类
后端 服务器

LaravelS 基于 Swoole — 实现 WebSocket 客户端

前置条件:laradock环境、swoole扩展

WebSocket 概述

WebSocket 复用了 HTTP 协议来实现握手,然后通过请求报文中的 Upgrade 字段将 HTTP 协议升级到 WebSocket 协议来建立 WebSocket 通信连接,一旦 WebSocket 连接建立之后,就可以在这个长连接上通过 WebSocket 数据帧进行双向通信,客户端和服务端可以在任何时候向对方发送报文,而不是 HTTP 协议那种服务端只有在客户端发起请求后才能响应,从而解决了在 Web 页面实时显示最新资源的问题。

与 HTTP 类似,WebSocket 协议对应的 scheme 是 ws,如果是加密的 WebSocket 对应的 scheme 是 wss。

WebSocket 客户端

在客户端,可以通过 JavaScript 调用浏览器内置的 WebSocket API 实现 WebSocket 客户端,实现代码和服务端差不多,无论服务端还是客户端 WebSocket 都是通过事件驱动的,我们在一个 HTML 文档中引入相应的 JavaScript 代码:

首先开启WebSocket 服务端

在浏览器中访问这个客户端 HTML 文件,在弹出窗口输入用户名

然后点击「确定」,即可开始建立与 Laravel WebSocket 服务器的通信


REFERENCE

“LaravelS 基于 Swoole — 实现 WebSocket 客户端”上的1条回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注