海量用户通讯系统-收发消息分析|学习笔记

简介: 快速学习海量用户通讯系统-收发消息分析

开发者学堂课程【Go 语言核心编程 - 面向对象、文件、单元测试、反射、TCP 编程:海量用户通讯系统-收发消息分析】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/626/detail/9798


海量用户通讯系统-收发消息分析

 

内容介绍:

一、完成用户登录-服务器端

二、完成用户登录-客户端

三、发送数据的流程

四、接收数据的流程

 

一、完成用户登录-服务器端

多人聊天室的一个结构分析,有以下图示可以看到:

image.png

服务器

(1)接收用户id,pwd【goroutine】

(2)比较

(3)返回结果

 

二、完成用户登录-客户端

(1)接收的输入的 id 和 pwd

(2)发送 id 和密码

(3)接收到服务端返回的结果

(4)判断是成功还是失败,并显示对应的页面

 

三、发送的流程

如图示需要设计消息协议

image.png

(1)先创建一个 Message 的结构体

(2)mes.Type=登录消息类型

(3)mesData=登录消息的内容(序列

(4)对 mes 进行序列化

(5)在网络传输中,最麻烦丢包

先给服务器发送 mes 的长度[有多少个字节n],再发送消息本身

image.png

 

四、接收数据的流程

(1)接收到客户端发送的长度 len

(2)根据接收到的长度 ien,在接收消息本身

(3)接收时要判断实际接收到的消息内容是否等于 len

(4)如果不相等,就有纠错协议[后面说]

(5)取到到-反序列化>Message

(6)取出 messageData(string)-反序列化>LoginMes

(7)取出 loginMes.userid和loginMes.userPwd

(8)这时就可以比较

(9)根据比较结果,返回Mess

(10)发送给客户端

相关文章
|
2月前
|
网络协议 程序员 UED
如何确保单聊消息100%送达?揭秘消息可靠传输的核心机制!
哈喽,大家好!我是技术好朋友小米,今天聊聊单聊消息的可靠传输。通过TCP的超时、重传、确认机制,结合去重和离线消息优化,我们可以设计出高效、可靠的消息传输系统。希望今天的分享能给大家带来帮助!如果有问题,欢迎留言交流。
42 0
如何确保单聊消息100%送达?揭秘消息可靠传输的核心机制!
|
网络协议 前端开发 测试技术
海量用户通讯系统——服务端结构改进1|学习笔记
快速学习海量用户通讯系统——服务端结构改进1
海量用户通讯系统——服务端结构改进1|学习笔记
|
JSON 网络协议 测试技术
海量用户通讯系统-服务器接收消息2|学习笔记
快速学习海量用户通讯系统-服务器接收消息2
海量用户通讯系统-服务器接收消息2|学习笔记
|
网络协议 测试技术 Go
海量用户通讯系统-服务器接收消息1
海量用户通讯系统-服务器接收消息1
海量用户通讯系统-服务器接收消息1
|
网络协议 测试技术 Go
海量用户通讯系统——客户端结构改进1|学习笔记
快速学习海量用户通讯系统——客户端结构改进1
海量用户通讯系统——客户端结构改进1|学习笔记
|
JSON 网络协议 测试技术
海量用户通讯系统-项目小结|学习笔记
快速学习海量用户通讯系统-项目小结
海量用户通讯系统-项目小结|学习笔记
|
JSON 编解码 网络协议
海量用户通讯信息-服务器接收长度|学习笔记
快速学习海量用户通讯信息-服务器接收长度
海量用户通讯信息-服务器接收长度|学习笔记
|
NoSQL 网络协议 关系型数据库
海量用户通讯系统-完成界面|学习笔记
快速学习海量用户通讯系统-完成界面
海量用户通讯系统-完成界面|学习笔记
|
缓存 JSON 网络协议
海量用户系统-客户端结构改进2|学习笔记
快速学习海量用户系统-客户端结构改进2
海量用户系统-客户端结构改进2|学习笔记
下一篇
无影云桌面