长连接、swoole、easyswoole
- 部署安装
- websocket、socket、mqtt服务部署及联调
- 不同协议中的交互 硬件使用mqtt、APP使用socket
- 每次传输的数据如何转入到对应的逻辑方法处理(http中每个URL可以对应到指定的方法)
- 传输数据可用的数据类型有几种(二进制、json)
- 连接认证、数据加密
- 多进程、多线程、协程
- 分布式部署
easyswoole
安装部分
本次使用的docker安装部署、官方已给出dockerfile、但注释了 Install easyswoole下面的三行、在build的时候先不安装
build好后启动并进入镜像安装easyswoole. composer require easyswoole/easyswoole=3.x-dev
{
# composer require 的时候不会出现下面autoload部分需要自己添加后执行 composer dumpautoload 更新命名空间映射
"autoload": {
"psr-4": {
"App\\": "App/"
}
},
"require": {
"easyswoole/easyswoole": "3.x-dev"
}
}
如果出现下面代码、并检查路径及文件名都正确的话在检查composer.json中autoload
空间映射是否正确.
[Uncaught Error: Class 'App\WebSocket\WebSocketParser' not found in /var/www/code/EasySwooleEvent.php:37
websocket服务调试
服务端使用官方文档例子, websocket客户端使用 在线调试
{"action":"hello","content":"easyswoole"}
发送的json字符串, 如果json字符不规范可以f12打开Console然后使用JSON.stringify({action: 'hello', content: 'easyswoole'})
手动部署
需手动安装包: composer require easyswoole/socket