github源码链接:
GitHub - LxNoMi/online_English_translation_system: linux下基于c语言实现,采用tcp协议的基于socket套接字通信的在线英语词典系统
- 绪论
在线英语词典翻译系统是一个基于客户端和服器(C-S模式)的单词在线查询系统,能够实现基本的英-英翻译,基于此,也很容易实现英-汉,汉-英在线翻译,该系统通过局域网将客户端和服务器连接,实现英语单词的在线查询。
- 需求分析
众所周知,英语单词数量很多,生活和学习中也经常遇到,而对于每个工作的人来说,每天在身边带着一本厚厚的英语词典显然不太可能,于是在线翻译系统便应运而生。
- 系统设计
1.设计思路
本系统采用C-S架构,客户端和服务器使用tcp协议并创建socket套接字进行连接通信,双方逻辑上的通信信息被定义为一个自定义的信息结构体MSG.
在服务器端,使用多进程对多个客户端进行处理,并使用sqlite3数据库实现对多用户的管理,通过标准io获取查询结果,并反馈给相应客户端。
客户端使用标准io对查询结果进行保存,方便查询历史记录。
2.系统建模
由于未安装建模工具(rational rose等),此处只绘制出基本模型图,并非专业绘图
- 代码编写
1.信息结构体:
Typeder struct{
Char type;
Char name[NAMESIZE];
Char data[DATASIZE];
}MSG;
2.消息类型
在消息结构体MSG中,type取值如下:
R:注册
L:登录
S:成功
E:失败
Q:查询单词
M:修改信息
O:用户退出
- 系统集成
经测试每一个模块都可以正常使用并满足功能要求,再将其集成到整个系统。
5.1界面效果
1.客户端运行:
2.注册
3.登录
4.功能选项
5.查询单词
6.历史记录
7.账号管理
- 系统测试
分别将客户端和服务其放在同一台电脑上,放在相同局域网的不同电脑上,进行测试,经测试能正常使用并满足功能需求。
- 系统维护
这是版本1.0,后期根据功能扩展和故障修正将会推出后继版本。
- 系统扩展
这是版本1.0,后期根据功能扩展和故障修正将会推出后继版本。
九、项目总结
本项目共计耗时4天,算不上大项目,但里面也包含较专业的知识。标准文件io的读写,局域网的tcp套接字通信,sqlite3数据库的基本操作等。