swift服务端开发,Vapor完整开源-IMServer
2018-01-25 本文已影响488人
Sunny牛
swift服务端开发,Vapor完整开源,阿里云ECS部署-最终篇
WLove网站
APP下载地址
主项目GitHub地址
IMServerGitHub地址
Vpoar框架文档
Swift 未来到底会发展的怎么样,可以预见的是肯定会越来越好,最终也能让开发者开开心心地在前后端只用它来做成一件事情。
上一篇文章 主要写了在阿里云部署的一些东西,这次写一下项目中IM部分的介绍,项目中IM用的环信,准备把IMserver部分换成用Vapor的Websocket写的服务。现在项目中的五子棋游戏现在用的就是这个服务。
项目中im部分的结构化数据用的是protocolbuf,二进制包更小,具体的安装和介绍再这里就不介绍了,自行百度下就可以了。
im的数据主要2部分组成,包头与包体,
包头:固定16个字节,6个数据体
1.包的长度
2.版本号
3.消息的服务类型
4.消息的业务类型
5.序列号(客户端维护,区分发送信息)
6.加密所用
包体:信息主体
![](https://img.haomeiwen.com/i5153164/aa8a9fd8a89f19fe.png)
![](https://img.haomeiwen.com/i5153164/1e7e9030f0b605d6.png)
业务流程
1.客户端socket连接服务器,带上验证信息,server校验身份
2.客户端连接服务器后,需要定时发送心跳包
大体就是这个样子,五子棋游戏部分和IM整体结构都写好了,剩下的就是完善完整的IM服务,代码会持续更新,喜欢的star
protocolbuf的源文件我会放在另一个Git地址,这里放了protobuf源文件和转换后的oc版本和swift版本,后期业务变更这里也会更新
![](https://img.haomeiwen.com/i5153164/6dccbca78b417fee.png)