1引言
1.1编写目的
经过一段时间的学习,终于要开始一个实战项目了,这个项目目的就是为了回顾之前的知识,主要用到了 络编程客户端及并发服务器的实现,父子进程,信 ,sql数据库等,我们先详细理解需求然后对框架及相关进行梳理,思路清晰后,再开始编程。
1.2 开发环境
开发环境 |
版本 |
linux gcc工具链 |
|
LIB |
sqlite3 |
1.3 项目需求
基于 络编程和数据库实现在线词典功能,客户端可以注册,登入,查询历史信息等操作,服务器基于多进程实现多客户端的并发访问,并使用sqlite数据库实现对用户信息的管理。
需求分析,进行需求拆分:
- 使用tcp实现客户端和服务器
- 服务器使用并发服务器(多进程,多线程或者select多路复用)
- 建立一个数据库,数据库中包含两个表,一个表用于存储用户名及密码等信息,一个用于存 储历史信息(包含保存时间)
- 类似我们平时看到的功能,需要有二级菜单,一级菜单中包含用户的注册,用户登录,用户 退出。登录成功后,进入二级菜单,二级菜单包括单词查询,历史查询,退出。
注意:注意进程的回收防止僵尸进程(通过信 回收),用户注册不能出现重复的用户名等,确 保功能完整,性能优化可以之后慢慢进行。
2软件总体设计
1.结构框架(参考)
2.客户端概要框架:
3软件详细设计
3.1服务器端程序流程
3.2客户端程序流程
3.3参数数据结构
4.代码实例(框架)
4.1 net.h (包含需要用到的头文件及结构体等)
4.2 client.c(客户端实现)
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!