前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP-swoole搭建websocket服务

PHP-swoole搭建websocket服务

作者头像
cwl_java
发布2022-11-30 10:42:47
8100
发布2022-11-30 10:42:47
举报
文章被收录于专栏:cwl_Javacwl_Java

五、搭建websocket服务

5.1、简介

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

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

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

5.2、浏览器支持

在这里插入图片描述
在这里插入图片描述

5.3、html5中websocketApi

代码语言:javascript
复制
var ws = new WebSocket("ws://localhost:9501");
  • Websocket事件
在这里插入图片描述
在这里插入图片描述
  • WebSocket 方法
在这里插入图片描述
在这里插入图片描述

.

5.4、swoole实现websocket服务

WebSocket\Server 继承自 Http\Server

代码语言:javascript
复制
$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();
本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-03-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 五、搭建websocket服务
    • 5.1、简介
      • 5.2、浏览器支持
        • 5.3、html5中websocketApi
          • 5.4、swoole实现websocket服务
          相关产品与服务
          即时通信 IM
          即时通信 IM(Instant Messaging)基于腾讯二十余年的 IM 技术积累,支持Android、iOS、Mac、Windows、Web、H5、小程序平台且跨终端互通,低代码 UI 组件助您30分钟集成单聊、群聊、关系链、消息漫游、群组管理、资料管理、直播弹幕和内容审核等能力。适用于直播互动、电商带货、客服咨询、社交沟通、在线课程、企业办公、互动游戏、医疗健康等场景。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
          http://www.vxiaotou.com