takielias / codeigniter4-websocket
使用 Ratchet Websocket 技术为 CodeIgniter 4 实现的 WebSocket
Requires
- php: ^7.2|^8.0
- cboden/ratchet: ^0.4.4
- textalk/websocket: ^1.6.3
Requires (Dev)
- codeigniter4/framework: dev-master
This package is auto-updated.
Last update: 2024-09-03 17:03:27 UTC
README
CodeIgniter 4 WebSocket 库
CodeIgniter WebSocket 库。它允许您通过使用 Ratchet Socketo.me WebSocket 技术来创建强大的实时应用程序。
Codeigniter 3.x 的 WebSocket 库 https://github.com/takielias/codeigniter-websocket
目录
入门
这是一个在本地设置项目的示例。要运行本地副本,请按照以下简单的示例步骤进行。
先决条件
- PHP 7.2+
- CodeIgniter 框架 (推荐 4.*)
- Composer
- PHP sockets 扩展已启用
安装
composer require takielias/codeigniter4-websocket @dev
发布资源
您需要发布默认配置的资源
php spark websocket:publish
用法
首先启动 CodeIgniter
php spark serve
如果您在不同的端口上运行服务器,请按照以下命令进行。
PHP spark serve --port=9092
最后启动 WebSocket 服务器
php public/index.php Websocket start
注意:不要忘记在 app/Config/Routes.php 中添加以下行 app/Config/Routes.php
$routes->setAutoRoute(true);
哇!你做到了!!! ✔️
在以下 URL 中打开您项目的两个页面,并使用不同的 ID
对于默认端口 https://:8080/Websocket/user/1
https://:8080/Websocket/user/2
对于自定义端口 https://:9092/Websocket/user/1
https://:9092/Websocket/user/2
身份验证和回调
有几个预定义的回调,以下是列表
auth, event, close, citimer, roomjoin, roomleave, roomchat
请查看 Websocket.php 控制器以获取各种回调函数的定义示例
public function start() { $ws = service('CodeigniterWebsocket'); $ws->set_callback('auth', array($this, '_auth')); $ws->set_callback('event', array($this, '_event')); $ws->run(); } public function _auth($datas = null) { // Here you can verify everything you want to perform user login. return (!empty($datas->user_id)) ? $datas->user_id : false; } public function _event($datas = null) { // Here you can do everything you want, each time message is received echo 'Hey ! I\'m an EVENT callback' . PHP_EOL; }
在上面的示例中定义了两个回调函数。第一个是 auth,第二个是 event。
🔨🔨🔨如果您需要自定义回调函数,请检查您配置目录中的 CodeigniterWebsocker.php 配置文件。
路线图
查看 公开问题 以获取建议功能(以及已知问题)的列表。
贡献
贡献使开源社区成为一个如此令人惊叹的学习、灵感和创造的地方。您所做的任何贡献都将受到 高度赞赏。
- 分支项目
- 创建您的功能分支 (
git checkout -b feature/AmazingFeature
) - 提交您的更改 (
git commit -m 'Add some AmazingFeature'
) - 推送到分支 (
git push origin feature/AmazingFeature
) - 打开一个拉取请求
许可
在 MIT 许可证下分发。有关更多信息,请参阅 LICENSE
。
联系方式
Taki Elias - @takiele - https://ebuz.xyz - taki.elias@gmail.com
致谢
- http://socketo.me
- PHP WebSocket 客户端
- 选择一个开源许可证
- GitHub Pages
- Animate.css
- Loaders.css
- Smooth Scroll
- Font Awesome
在 Buy Me A Coffee 上提供支持
嘿,伙计!帮我买杯☕!