服务端转发消息思路分析|学习笔记

简介: 快速学习服务端转发消息思路分析

开发者学堂课程【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)在客户端还要增加去处理服务器端转发的群发消息

相关文章
|
4月前
|
消息中间件 Java 物联网
消息队列 MQ操作报错合集之建立连接时发生了超时错误,该如何解决
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
消息队列 MQ操作报错合集之建立连接时发生了超时错误,该如何解决
|
Web App开发 缓存 网络协议
如何实现服务端向客户端推送数据
常见的http协议只能从客户端主动向服务端请求数据,而服务端无法向客户端发送数据.本文通过介绍几种方式来实现上述功能.
|
6月前
|
消息中间件 JavaScript 物联网
MQTT常见问题之用rocketmq mqttdemo的MqttConsumer始终无法接收到消息如何解决
MQTT(Message Queuing Telemetry Transport)是一个轻量级的、基于发布/订阅模式的消息协议,广泛用于物联网(IoT)中设备间的通信。以下是MQTT使用过程中可能遇到的一些常见问题及其答案的汇总:
|
6月前
Socket网络编程练习题二:客户端发送一条数据,接收服务端反馈的消息并打印;服务端接收数据并打印,再给客户端反馈消息
Socket网络编程练习题二:客户端发送一条数据,接收服务端反馈的消息并打印;服务端接收数据并打印,再给客户端反馈消息
|
前端开发 JavaScript Java
Springboot 整合 Socket 实战案例 ,实现 单点发送、广播群发,1对1,1对多
Springboot 整合 Socket 实战案例 ,实现 单点发送、广播群发,1对1,1对多
1489 0
Springboot 整合 Socket 实战案例 ,实现 单点发送、广播群发,1对1,1对多
|
存储 编解码 网络协议
Netty各组件基本用法、入站和出站详情、群聊系统的实现、粘包和拆包
Netty各组件基本用法、入站和出站详情、群聊系统的实现、粘包和拆包
117 0
【笔记】前后端联调——快速重发请求(不用重新操作)
前后端联调——快速重发请求(不用重新操作)
109 0
【笔记】前后端联调——快速重发请求(不用重新操作)
|
网络架构
计算机网络学习20:IP数据报的发送和转发过程
如果C要给F发送数据报,那么如何知道F是不是跟自己在同一个网络呢?
计算机网络学习20:IP数据报的发送和转发过程
|
JSON 网络协议 测试技术
客户端发消息代码实现|学习笔记
快速学习客户端发消息代码实现
客户端发消息代码实现|学习笔记
|
移动开发 网络协议 测试技术
服务器循环接收客户端消息|学习笔记
快速学习服务器循环接收客户端消息
服务器循环接收客户端消息|学习笔记
下一篇
无影云桌面