01.1 基础篇:从一个简单的IM开始

2023年 7月 19日 61.2k 0

我们先尝试使用 WebSocket 服务实现一个简单的IM服务。

0. 开发环境

  • 操作系统:CentOS Linux release 7.9.2009 (Core)
  • PHP:8.1.21
  • Swoole:4.8.7
  • phpredis:release/5.3.3
  • Hyperf:3.0

1. 需求整理

  • 有用户登录时,给所有在线的用户推送系统消息,消息格式为 = 系统消息:用户 {username} 上线;
  • 用户发送消息时,将消息推送给所有用户,消息格式为 = {username}:{message};
  • 有用户登出时,给所有在线的用户推送系统消息,消息格式为 = 系统消息:用户 {username} 下线;
  • 当同一个用户同时连接两次时,最早登录的连接将被踢出。

2. 安装组件

Hyperf 提供了对 WebSocket Server 的封装,可基于 hyperf/websocket-server 组件快速搭建一个 WebSocket 应用。

composer require hyperf/websocket-server

再安装一个日志组件,用于记录用户的相关操作。

composer require hyperf/logger

3. 配置服务

在项目中添加一个 WebSocket 服务,修改 config/autoload/server.php,增加以下配置。

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论