服务端代码

ini_set('display_errors', 1);
error_reporting(E_ALL);

$ws = new swoole_websocket_server("0.0.0.0", 8080);

//监听WebSocket连接打开事件   客户端 onopen 触发此事件
$ws->on('open', function ($ws, $request) {
    var_dump($request->fd, $request->get, $request->server);
    $ws->push($request->fd, "hello, welcome\n");
});

//监听WebSocket消息事件  客户端 send() 方法触发此事件 
$ws->on('message', function ($ws, $frame) {
    
    echo "Message: {$frame->data}\n";
    $ws->push($frame->fd, "server: {$frame->data}");//以 fd 为标识发给客户端 触发客户端 onmessage 事件
});

//监听WebSocket连接关闭事件
$ws->on('close', function ($ws, $fd) {
    echo "client-{$fd} is closed\n";
});

$ws->start();

客户端代码

<input id='msg'>
<h1 οnclick='send()'>发送</h1>

<script>

var wsServer = 'ws://47.106.184.48:8080';
var websocket = new WebSocket(wsServer);

websocket.onopen = function (evt) {//链接成功事件
    console.log("Connected to WebSocket server.",'evt:'+evt);
};

websocket.onclose = function (evt) {//关闭链接事件
    console.log("Disconnected",'evt:'+evt);
};

websocket.onmessage = function (evt) {//接收消息事件 服务端 push事件 触发此事件
    console.log('Retrieved data from server: ' + evt.data);
};

websocket.onerror = function (evt, e) {//发生错误后的事件
    console.log('Error occured: ' + evt.data);
};
console.log(websocket);
function send(){
let v = document.getElementById('msg').value;

websocket.send(v);//触发 服务端 message 事件

}

</script>

安装 swoole 扩展后

php youServerFile.php

聊天室功能,则是以 fd 群发消息就 ok

PHP 使用 swoole 实现即时通讯 demo,以及聊天室实现方式相关推荐

  1. 即时通讯 音视频聊天室开发建议

    目前网上视频聊天室.视频会议软件.可视IP电话软件随处可见,你是否想自己做一个玩玩?其实这类软件无非是视频加上网络而建成的.如果熟悉视频捕 捉和网络传输技术,根本就难不倒你.本文详细介绍了如何利用别人 ...

  2. 融云即时通讯之直播聊天室

    前言 做直播当然少不了聊天功能,融云直播聊天室支持消息类型包括文字.语音.图片.点赞.礼物.弹幕等,也支持通过自定义消息实现自已的业务逻辑:支持聊天室用户管理功能,包括创建.加入.销毁.禁言.查询.封 ...

  3. ThinkPHP框架整合环信即时通讯DEMO

    环信成立于2013年4月,是一家全通讯能力云服务提供商.产品包括全球最大的即时通讯云 PaaS 平台--环信即时通讯云. 最近在工作中遇到要整合环信即时通讯,通过在网上搜索没有搜到特别全的案例,故此自 ...

  4. 微信小程序接入腾讯云IM即时通讯(获取聊天历史记录开发步骤)

    微信小程序接入腾讯云IM即时通讯(获取聊天历史记录开发步骤) 1.先看文档: 获取 C2C 历史消息 :https://cloud.tencent.com/document/product/269/1 ...

  5. PHP+Workerman即时通讯技术:在线聊天/客服/访客功能

    PHP+Workerman即时通讯技术:在线聊天/客服/访客功能 1:客服端 2:客户端 3:多访客 4:聊天表情 客服端 http://videolaravel.zwzgjl.com/index.p ...

  6. 安卓集成腾讯即时通信IM完成聊天室功能

    安卓集成腾讯即时通信IM完成聊天室功能 没有效果图的文章都是扯淡 **请将下面的MainActivity的代码复制到源码里面,替换掉源码的MainActivity.class** 话不多说,下来上代码 ...

  7. IM即时通信多房间聊天室仿微信聊天(二)

    IM即时通信多房间聊天室仿微信聊天(服务器自定义处理客户端消息) 在IM即时通信多房间聊天室仿微信聊天(一)中我们已经搭建了基本的通信架构,接下来重点就是如何在自己的后台接收并处理客户端用户的消息了 ...

  8. IM即时通信多房间聊天室仿微信聊天(四)

    聊天记录的保存和展示 IM即时通信多房间聊天室仿微信聊天(一) IM即时通信多房间聊天室仿微信聊天(二) IM即时通信多房间聊天室仿微信聊天(三) 聊天消息的保存我们直接在服务端接收到客户端发送的消息 ...

  9. 小程序如何集成即构IM实现即时通讯发消息聊天

    之前的文章已经介绍了如何实现Web端的即时通讯IM,为了让大家全面的体验通信互动的快乐. 本文介绍如何使用 ZIM SDK 快速实现实现小程序端的基本的消息收发功能,在微信中实现一个mini版微信,也 ...

最新文章

  1. CMD 输入中文看不到输入法的解决方法
  2. 【转】深入研究java.lang.Class类
  3. eclipse安装Eclipse HTML Editor插件
  4. Linux state 方式 安装nginx 服务
  5. olr 性能调优 NO_NORMS
  6. 6个经典的JavaScript报错分析
  7. 面试题 17.24. 最大子矩阵
  8. react jest测试_如何使用React测试库和Jest开始测试React应用
  9. 三个监控linux网卡流量脚本
  10. 尽量少一点甲方思维,也尽量少一点弱势方思维
  11. 反射--笔记(第一篇)
  12. 从zabbix的数据库获取数据
  13. C语言bit位取反,c语言位操作bit位置0置1
  14. Source Code Pro一款堪称完美的编程字体
  15. 虚拟机安装教程win10_Parallels Desktop如何安装windowns系统?PD虚拟机安装win10系统详细教程
  16. 如何查看泛泰A870高通骁龙600(APQ8064T)的CPU体质(A850/A860也可参考)
  17. oracle性能调优之--Oracle 10g AWR 配置
  18. GAN入门实例【个人理解】
  19. 徐亦达老师机器学习课程
  20. linux连接交换机命令,Linux连接路由器交换机防火墙Console接口的5个实用命令

热门文章

  1. ORA 各种oraclesql错误
  2. Android 组件化方案,从入门到精通
  3. python爬虫教你如何快速搜索信息
  4. 【离线数仓-3-数仓建模方法理论汇总】
  5. 单招计算机考试知识点及答案,单招计算机考试试题.doc
  6. 知乎在港上市背后:阿里、京东亏损惨重,创新工场、今日资本大幅减持
  7. MVC《酒店管理系统》之预订分房
  8. GitHub入门与实践pdf
  9. 转 cvCvtColor的用法
  10. hadoop 3.1.1的集群搭建并完成高可用配置(详细版)