PHP-swoole搭建websocket服务

五、搭建websocket服务

5.1、简介

WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。

WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。

websocket解决服务器端与客户端即时通信的问题。
协议名:ws 加密通信 wss 通信成功 状态码 101

5.2、浏览器支持

在这里插入图片描述

5.3、html5中websocketApi

var ws = new WebSocket("ws://localhost:9501");
  • Websocket事件
    在这里插入图片描述
  • WebSocket 方法
    在这里插入图片描述.

5.4、swoole实现websocket服务

WebSocket\Server 继承自 Http\Server

$server = new Swoole\WebSocket\Server("0.0.0.0", 9501);
// 当WebSocket客户端与服务器建立连接并完成握手后会回调此函数
$server->on('open', function (Swoole\WebSocket\Server $server, Swoole\Http\Request $request) {
    echo "已连接成功\n";
});
// 当服务器收到来自客户端的数据帧时会回调此函数  此回调方法不能缺少
$server->on('message', function (Swoole\WebSocket\Server $server, swoole_websocket_frame  $frame) {
     // 服务器端主动向客户端发送消息
    //$frmae->data 客户端发过来的数据
    // 服务器端向客户端发送消息
    $server->push($frame->fd, "this is server");
});
// 客户端关闭连接时触发此回调函数
$server->on('close', function ($ser, $fd) {
    echo "client {$fd} closed\n";
});
// 启动服务
$server->start();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值