本项目为一门QQ相关的课程设计作业,使用C++语言完成。涵盖了用户信息管理、消息发送与接收等功能模块的设计与实现。
课程设计题目:模拟即时通信系统实现
一、题目描述:
基于社交的即时通信是腾*公司的主要业务领域,该公司先后推出了诸如QQ、微信、微博等一系列服务,并可能继续推出新的产品如微商、微唱、微走等应用。这些软件既可独立提供服务又相互关联协同工作。现要求完成一个统一立体化的社交平台设计与实现。
具体需求如下:
1. 用户基本信息:包括用户ID(号码),昵称,出生日期,T龄(即账户创建时间)、所在地信息以及好友列表和群组列表。
2. 好友管理功能应包含添加、修改、删除及查询等操作;支持跨平台查找共同好友,例如微信可从QQ推荐好友中选择进行添加;
3. 群组管理:每个微X服务预设有若干固定群号(如1001至1006);提供加入或退出指定的群聊、查看成员列表等操作。不同服务平台之间的群功能有所区别,例如QQ允许创建临时讨论小组且有明确的管理员制度;
4. 开通管理:用户可自由选择开通多个微X服务。
5. 登录机制设计为一旦一个服务登录成功,则其他已选的服务自动同步进入可用状态;
6. 功能展示要求(main函数):
a) 系统启动时,预先保存的个人资料、群组信息及好友列表将被加载至内存中使用;
b) 当用户在任一平台上完成登陆后,其所有开通服务均视为已登录并可使用;
c) 用户通过任意一个服务平台添加的好友可以被其他平台识别和加入;
d) 展示各个微X特有的群组功能;同时,在不影响数据安全的前提下允许转换查看不同类型的群管理特色。
选做内容:实现QQ点对点的TCP通信收发机制,需加载ws2_32.lib静态库,并使用winsock.h头文件。建议先了解IP地址、端口号等概念以及socket编程的基础知识(如bind, listen, accept, connect, send及receive函数的应用)。