开发者学堂课程【Go 语言核心编程 - 面向对象、文件、单元测试、反射、TCP 编程:服务端转发消息思路分析】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/626/detail/9822
服务端转发消息思路分析
内容介绍
一、服务端转发消息
二、思路分析
一、 服务端转发消息
步骤2:服务器可以将接收到的消息,群发给所有在线用户(发送者除外)
思路分析:
假设通过 smsProcess.go 把群发的消息发送到服务器端,先由 processor 接收到。
server 端有一个总控,processor.go 中的 mes 能够拿到发送的所有消息,LoginMesType 可以处理登录和注册的消息,我们应增加一个处理群发短消息的分支,所以代码应在 default 中写。
处理群发时,转发消息任务应该交给SM服务器端的 smsProcess 处理更为合理,因为它是处理短消息相关的,不是与用户相关的。在 smsOProcess 中增加一个群发消息的函数。
发完后,应思考如何处理。把消息转发出去后,相当于服务器再将消息转发给其他在线用户。因为客户端还要继续做,继续做一个响应:如果别人转发了这个消息服务端应如何处理。
server 中要增加处理
switch mes.Type{
SmsMes
SmsResMes
二、 思路总结
1、 完成客户端可以发送消息的思路
(1)新增一个消息结构体 SmsMes…
(2)新增一个 model CurUser
(3)在 smsProcess.go 增加相应的方法 SendGroupMes,发送一个群聊的消息
(4)在服务器端接收到 SmsMes 消息
(5)在 server/process/smsProcess.gp 文件增加群发消息的方法
(6)在客户端还要增加去处理服务器端转发的群发消息