1 Star 0 Fork 7

zb872676223 / 逐梦通讯服务端

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
服务端逻辑.md 1.46 KB
一键复制 编辑 原始数据 按行查看 历史
liebao93 提交于 2019-02-13 11:24 . 初始化服务端代码库

1.main函数: (1)连接数据库,确认3张数据表都存在,不存在则创建 (2)连接数据库,载入已存在用户用户信息 (3)初始化EventLoop线程池 (4)初始化聊天服务器IMServer,指定主线程事件循环 (5)开启主线程事件循环 2.初始化聊天服务器IMServer::init(): (1)初始化TcpServer对象,设置建立连接执行的回调函数 (2)TcpServer->start()启动侦听 3.连接到来处理逻辑IMServer::OnConnection (1)TcpServer::m_baseUserId自增? (2)新建一个ClientSession对象,设置该连接的消息到来执行的回调函数 (3)IMServer为每一新连接维护一个ClientSession智能指针,保存到map中 4.好友操作逻辑 (1)删除好友: (2)A给B发送添加好友请求: A客户端发送--->{"userid": 9(B id), "type": 1}--->服务端收到,构造数据包--->{"userid": 9(A id), "type": 2, "username": "xxx"(A username)}--->通过B session发送到B客户端 (3)B收到好友请求,接受或拒绝: B客户端发送--->{"userid": 9(A id), "type": 3, "username": "xxx"(A username), "accept": 1(1同意,0拒绝)}--->服务端收到--->插入到数据库--->更新缓存用户信息--->构造两个数据包--->1.回应B客户端{"userid": 9(A id), "type": 3, "username": "xxx"(A id), "accept": 1(1同意,0拒绝)}--->2.通过A session回应A客户端{"userid": 9(B id), "type": 3, "username": "xxx"(B id), "accept": 1(1同意,0拒绝)}

1
https://gitee.com/zb872676223/DreamgoServer.git
git@gitee.com:zb872676223/DreamgoServer.git
zb872676223
DreamgoServer
逐梦通讯服务端
master

搜索帮助