代码拉取完成,页面将自动刷新
使用PHP
+Swoole4
实现的网页即时聊天工具,在线体验地址:http://webim.swoole.com/
Swoole4
协程实现,可以同时支持数百万TCP
连接在线WebSocket
+Http Comet
支持所有浏览器/客户端/移动端MySQL
存储Redis
存储Server PUSH
的即时内容更新,登录/登出/状态变更/消息等会内容即时更新Web
端直接管理所有在线用户和群组(开发中)需要Swoole-4.4.7
或更高版本
pecl install swoole
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
IP:PORT
,这里不需要设置。直接打开 http://IP:PORT/
即可DNS
解析/etc/hosts
,增加127.0.0.1 im.swoole.com
本机域名绑定配置成功后,可以使用浏览器打开,如:http://im.swoole.com:9503/
以上仅为示例,实际项目需要修改为对应的域名
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。