开发者学堂课程【Go 语言核心编程 - 面向对象、文件、单元测试、反射、TCP 编程:海量用户即时通讯系统需求】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/626/detail/9782
海量用户即时通讯系统需求
内容介绍
一、经典项目:海量用户即时通讯系统项目开发流程
二、需求分析
三、界面设计
四、项目开发前技术准备
一、经典项目:海量用户即时通讯系统项目开发流程
需求分析à设计阶段à编程实现à测试阶段à实施
二、需求分析
1. 用户注册
2. 用户登录
3. 显示在线用户列表
比如说将来可能会有c客户端(client.go),a客户端想和c客户端通讯或者b客户端通讯,就要先拿到b和c在线,然后才可以对接。如果不在线则无法进行通讯。
4.群聊(广播)
5.点对点聊天
就是说可以实现a客户端可以和c客户端说话也就是私聊。
6.离线留言
这里需要用到数据库,比如说a与c说了一句话,但c不在线,等到c上线后可以从服务器获取消息。
三、界面设计
实现功能-显示客户端登录菜单
-------------欢迎登陆多人聊天系统:-------------
1登录聊天系统
2注册用户
3退出系统
请选择(1-3):
--------------------------
1
登录...
请输入用户id:
100
请输入用户密码:
200
你输入的 userid=100 pwd=200
四、项目开发前技术准备
项目要保存用户信息和信息数据,因此我们需要学习数据库(Redis 或者 Mysql),这是我们选择 Redis,所以先给同学们讲解如何在Golang中使用 Redis。既然想要实现登录,那必然在服务器端一定会有一个存储数据的地方,比较流行的数据库有Mysql、Oracle、Redis、mem cache,Redis相对来说比较上手,第一个它性能很强,第二个只要学go语言的管道会操作就基本可以操作了。服务器产生的数据就都在数据库里,如图所示。