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

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

开发者学堂课程【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月前
|
Web App开发 监控 安全
[译] 用 sendBeacon 发送分析信息的优点
[译] 用 sendBeacon 发送分析信息的优点
|
Web App开发 缓存 网络协议
如何实现服务端向客户端推送数据
常见的http协议只能从客户端主动向服务端请求数据,而服务端无法向客户端发送数据.本文通过介绍几种方式来实现上述功能.
|
7月前
|
消息中间件 JavaScript 物联网
MQTT常见问题之用rocketmq mqttdemo的MqttConsumer始终无法接收到消息如何解决
MQTT(Message Queuing Telemetry Transport)是一个轻量级的、基于发布/订阅模式的消息协议,广泛用于物联网(IoT)中设备间的通信。以下是MQTT使用过程中可能遇到的一些常见问题及其答案的汇总:
|
7月前
|
监控 安全 持续交付
【专栏】Webhook是服务器主动发送事件通知的机制,打破传统客户端轮询模式,实现数据实时高效传递。
【4月更文挑战第29天】Webhook是服务器主动发送事件通知的机制,打破传统客户端轮询模式,实现数据实时高效传递。常用于持续集成部署、第三方服务集成、实时数据同步和监控告警。具有实时性、高效性和灵活性优势,但也面临安全风险和调试挑战。理解并善用Webhook能提升系统性能,广泛应用于现代软件开发和集成。
458 0
|
网络协议 网络架构
计算机网络模型、客户端与服务端请求与解析过程
计算机网络模型、客户端与服务端请求与解析过程
94 0
|
7月前
Socket网络编程练习题二:客户端发送一条数据,接收服务端反馈的消息并打印;服务端接收数据并打印,再给客户端反馈消息
Socket网络编程练习题二:客户端发送一条数据,接收服务端反馈的消息并打印;服务端接收数据并打印,再给客户端反馈消息
|
前端开发 JavaScript Java
Springboot 整合 Socket 实战案例 ,实现 单点发送、广播群发,1对1,1对多
Springboot 整合 Socket 实战案例 ,实现 单点发送、广播群发,1对1,1对多
1572 0
Springboot 整合 Socket 实战案例 ,实现 单点发送、广播群发,1对1,1对多
|
存储 JSON 编解码
06-gRPC收发请求过程解析
Google 开发并且开源的一款高性能、跨语言的 RPC 框架,当前支持 C、Java 和 Go。跨语言,通信协议基于HTTP/2,序列化支持 PB(Protocol Buffer)和 JSON。
226 0
|
网络架构
计算机网络学习20:IP数据报的发送和转发过程
如果C要给F发送数据报,那么如何知道F是不是跟自己在同一个网络呢?
计算机网络学习20:IP数据报的发送和转发过程
|
移动开发 网络协议 测试技术
服务器循环接收客户端消息|学习笔记
快速学习服务器循环接收客户端消息
服务器循环接收客户端消息|学习笔记