Yii2 扩展基于 swoole 的 websocket [ 2.0 版本 ]
项目地址
https://github.com/jianyan74/yii2-websocket
Yii2 WebSocket
可以做即时通讯,小程序的小游戏等等
前提
服务器安装swoole
git clone https://github.com/swoole/swoole-src.git
cd swoole-src
phpize
./configure --enable-openssl -with-php-config=[PATH] #注意[PATH]为你的php地址 开启ssl用
make && make install
安装
composer执行
composer require "jianyan74/yii2-websocket"
或者在 composer.json
加入
"jianyan74/yii2-websocket": "^1.0"
配置
在 console/config/main.php
加入以下配置。(注意:配置在controllerMap里面)
// webSocket
'websocket' => [
'class' => 'jianyan\websocket\WebSocketController',
'server' => 'jianyan\websocket\WebSocketServer',
'host' => '0.0.0.0',// 监听地址
'port' => 9501,// 监听端口
'config' => [// 标准的swoole配置项都可以再此加入
'daemonize' => false,// 守护进程执行
'ssl_cert_file' => '',
'ssl_key_file' => '',
'pid_file' => __DIR__ . '/../../backend/runtime/logs/server.pid',
'log_file' => __DIR__ . '/../../backend/runtime/logs/swoole.log',
'log_level' => 0,
],
],
使用
# 启动
php ./yii websocket/start
# 停止
php ./yii websocket/stop
# 重启
php ./yii websocket/restart
测试
<script>
var wsl = 'wss://[to your IP]:9501';
ws = new WebSocket(wsl);// 新建立一个连接
// 如下指定事件处理
ws.onopen = function () {
// ws.send('Test!');
};
// 接收消息
ws.onmessage = function (evt) {
console.log(evt.data);
/*ws.close();*/
};
// 关闭
ws.onclose = function (evt) {
console.log('WebSocketClosed!');
};
// 报错
ws.onerror = function (evt) {
console.log('WebSocketError!');
};
</script>
简言
注册时间:2015-07-18
最后登录:2023-08-25
在线时长:45小时31分
最后登录:2023-08-25
在线时长:45小时31分
- 粉丝42
- 金钱420
- 威望130
- 积分2170
热门源码
- 基于 Yii 2 + Bootstrap 3 搭建一套后台管理系统 CMF
- 整合完 yii2-rbac+yii2-admin+adminlte 等库的基础开发后台源码
- 适合初学者学习的一款通用的管理后台
- yii-goaop - 将 goaop 集成到 Yii,在 Yii 中优雅的面向切面编程
- yii-log-target - 监控系统异常且多渠道发送异常信息通知
- 店滴云1.3.0
- 面向对象的一小步:添加 ActiveRecord 的 Scope 功能
- Yii2 开源商城 FecShop
- 基于 Yii2 开发的多店铺商城系统,免费开源 + 适合二开
- leadshop - 基于 Yii2 开发的一款免费开源且支持商业使用的商城管理系统
共 3 条评论
大佬用不了啊
为什么用不了
Use of undefined constant SWOOLE_BASE这个错是什么鬼
你swoole没有安装
安装后一样报这个错误
@简言 Author Swoole Team team@swoole.com
Version 4.3.3
Built Apr 23 2019 09:16:40
coroutine enabled
epoll enabled
eventfd enabled
signalfd enabled
cpu_affinity enabled
spinlock enabled
rwlock enabled
sockets enabled
openssl OpenSSL 1.1.1 11 Sep 2018
http2 enabled
pcre enabled
zlib enabled
mutex_timedlock enabled
pthread_barrier enabled
futex enabled
mysqlnd enabled
async_redis enabled
https://github.com/jianyan74/yii2-websocket 最新的文档说明,我之前用的是swoole2.x
Could not open input file: ./yii 是咋回事