WebIM
========
使用`PHP`+`Swoole4`实现的网页即时聊天工具,在线体验地址:[http://webim.swoole.com/](http://webim.swoole.com/)
* 基于`Swoole4`协程实现,可以同时支持数百万`TCP`连接在线
* 基于`WebSocket`+`Http Comet`支持所有浏览器/客户端/移动端
* 支持单聊/群聊/组聊等功能
* 聊天记录使用`MySQL`存储
* 用户列表和在线信息使用`Redis`存储
* 基于`Server PUSH`的即时内容更新,登录/登出/状态变更/消息等会内容即时更新
* 支持发送链接/图片/语音/视频/文件(开发中)
* 支持`Web`端直接管理所有在线用户和群组(开发中)
依赖
----
需要`Swoole-4.4.7`或更高版本
```shell
pecl install swoole
```
部署说明
----
### 安装依赖的 Composer 包
```shell
composer install
```
### 修改配置
* 配置`configs/redis.php`中的`Redis`服务器信息,用户列表和信息会存到`Redis`中
* 配置`configs/db.php`中数据库信息,聊天记录会存储到`MySQL`中
* 导入`MySQL`表接口到对应的数据库中
表结构
```sql
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和端口
```php
$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`权限
### 启动服务器
```shell
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+Swoole4实现的网页即时聊天工具,在线体验地址:http://webim.swoole.com/ - 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------
资源推荐
资源详情
资源评论
收起资源包目录
PHP+Swoole实现的网页即时聊天工具.zip (53个子文件)
PHP+Swoole实现的网页即时聊天工具
webim-2.0
server.php 619B
resources
templates
chatroom.php 5KB
static
js
bootstrap.js 28KB
console.js 113B
comet.js 3KB
chat.js 9KB
jquery.json.js 2KB
jquery.js 91KB
img
button.jpg 6KB
avatar1.jpg 2KB
button.png 921B
button1.jpg 7KB
default.jpg 3KB
f1.png 1KB
face
12.gif 2KB
6.gif 2KB
8.gif 4KB
14.gif 12KB
7.gif 3KB
19.gif 2KB
5.gif 2KB
18.gif 1KB
2.gif 1KB
9.gif 971B
15.gif 2KB
3.gif 2KB
11.gif 8KB
1.gif 2KB
16.gif 1KB
13.gif 12KB
4.gif 2KB
10.gif 4KB
17.gif 3KB
button.gif 9KB
button2.jpg 4KB
css
main.css 1KB
bootstrap1.css 90KB
bootstrap.css 90KB
chat.css 2KB
src
Pool.php 1KB
RedisPool.php 392B
MySQLPool.php 334B
Server.php 16KB
configs
login.php 167B
upload.php 120B
cache.php 72B
webim.php 829B
log.php 122B
redis.php 76B
db.php 397B
composer.json 140B
.gitignore 89B
README.md 3KB
共 53 条
- 1
资源评论
程序员无锋
- 粉丝: 3676
- 资源: 2178
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Spring Boot框架的博客管理系统.zip
- (源码)基于ESP8266和Blynk的IR设备控制系统.zip
- (源码)基于Java和JSP的校园论坛系统.zip
- (源码)基于ROS Kinetic框架的AGV激光雷达导航与SLAM系统.zip
- (源码)基于PythonDjango框架的资产管理系统.zip
- (源码)基于计算机系统原理与Arduino技术的学习平台.zip
- (源码)基于SSM框架的大学消息通知系统服务端.zip
- (源码)基于Java Servlet的学生信息管理系统.zip
- (源码)基于Qt和AVR的FestosMechatronics系统终端.zip
- (源码)基于Java的DVD管理系统.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功