1. 威客安全首页
  2. 安全资讯

使用PHP+Swoole实现的网页即时聊天工具

使用PHP+Swoole实现的网页即时聊天工具

使用PHP+Swoole实现的网页即时聊天工具


WebIM

使用PHP Swoole4实现的网页即时聊天工具,在线体验地址:

http://webim.swoole.com/

基于Swoole4协程实现,可以同时支持数百万TCP连接在线
基于WebSocket Http Comet支持所有浏览器/客户端/移动端
支持单聊/群聊/组聊等功能
聊天记录使用MySQL存储
用户列表和在线信息使用Redis存储
基于Server PUSH的即时内容更新,登录/登出/状态变更/消息等会内容即时更新
支持发送链接/图片/语音/视频/文件(开发中)
支持Web端直接管理所有在线用户和群组(开发中)

依赖

需要Swoole-4.4.7或更高版本
pecl install swoole

部署说明

安装依赖的 Composer 包
composer install

修改配置

配置configs/redis.php中的Redis服务器信息,用户列表和信息会存到Redis中
配置configs/db.php中数据库信息,聊天记录会存储到MySQL中
导入MySQL表接口到对应的数据库中
表结构

CREATE TABLE `webim_history` (  `id` int(11) NOT NULL AUTO_INCREMENT,  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,  `name` varchar(64) COLLATE utf8mb4_bin NOT NULL,  `avatar` varchar(255) COLLATE utf8mb4_bin NOT NULL,  `type` varchar(12) COLLATE utf8mb4_bin NOT NULL,  `msg` text COLLATE utf8mb4_bin NOT NULL,  `send_ip` varchar(20) COLLATE utf8mb4_bin NOT NULL,  PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin修改configs/webim.php中的选项,设置服务器的URL和端口$config['server'] = array(    //监听的HOST    'host' => '0.0.0.0',    //监听的端口    'port' => '9503',    //配置域名 [可选]    'name' => 'im.swoole.com',);


server.host,server.port 项为WebIM服务器即WebSocket服务器的地址与端口
server.name配置使用的域名(可选),如果未设置将直接使用ip:port进行访问
监听80和443等1024以内端口需要root权限

启动服务器

php server.php

配置域名解析或者本地 Host [可选]

直接使用ip:port,这里不需要设置。直接打开 http://ip:port/ 即可
外网域名需要配置DNS解析
本机域名需要修改/etc/hosts,增加127.0.0.1 im.swoole.com本机域名绑定
配置成功后,可以使用浏览器打开,如:http://im.swoole.com:9503/

以上仅为示例,实际项目需要修改为对应的域名

【文章来源】:

使用PHP+Swoole实现的网页即时聊天工具
https://github.com/matyhtf/webim
672 forks.
1,714 stars.
36 open issues.
Recent commits:

使用PHP+Swoole实现的网页即时聊天工具


推荐文章++++

使用PHP+Swoole实现的网页即时聊天工具

*ssh_scan对SSH扫描工具

*xss or 2实用的XSS黑客工具


使用PHP+Swoole实现的网页即时聊天工具

使用PHP+Swoole实现的网页即时聊天工具

原文始发于微信公众号(黑白之道):使用PHP+Swoole实现的网页即时聊天工具

本文转为转载文章,本文观点不代表威客安全立场。

发表评论

登录后才能评论