使用Python实现电子词典

项目内容:

一、功能说明:

1.用户可以登录和注册
	登录凭借用户名密码即可
	注册要求用户必须填写用户名和密码其他内容可自定
	用户名要求不能够重复

2.用户数据要求使用数据库长期保存
	数据表自定 

3.能够满足多个用户同时登陆操作的需求(多进程多线程)

4.功能分为客户端和服务端,客户端主要发起请求,服务端处理请求,用户启动客户端即进入一级界面
	一级界面的功能有:登陆、注册、退出

5.用户登陆后即进入二级界面
	二级界面内容有:查单词  查看历史记录 退出
	dict.txt--》每行一个单词
				单词和解释之间一定有空格
				后面的单词一定比前面的大
	查单词:输入单词,显示单词意思,可以循环查询,输入##表示退出查词
	查看历史记录:查看当前用户的历史查词记录
	name  word  time
	退出:退出到一级界面,相当于注销

二、项目分析

	1.确定技术点
		什么并发,什么套接字,什么数据库,
		文件处理还是数据库查询,如果是数据库查询如何将单词存入数据库
		
	2.建立数据表
		建立几个表  每个表结构  表关系
				3   		用户信息    历史记录        存单词

							注册	   查询历史记录	  查单词
							登录	   查单词

	3.项目分析
		服务器 : 登录  注册   查词   历史记录
		客户端 : 打印界面   发出请求    接收反馈   打印结果
		技术点 :   并发   sys.fork
       	套接字  tcp 套接字
  	    数据库  mysql
   	    查词    文本
   	    
	4.搭建通信框架
		工作流程: 创建数据库,存储数据 ---》 搭建通信框架,            
	 		      建立并发关系---》实现具体功能封装

三、实现

 1.创建数据库(使用mysql数据库)

mysql> create database dict default charset=utf8;
mysql> use dict;
Database changed
// 用户信息表
mysql> create table user(
    -> id int primary key auto_increment,
    -> name varchar(32) not null,
    -> passwd varchar(16) default '000000');
//历史记录表
mysql> create table hist(
    -> id int primary key auto_increment,
    -> name varchar(32) not null,
    -> word varchar(32) not null,
    -> time varchar(64));
//单词表
//text类型是文本类型,相当于字符串一种,比字符串大
mysql> create table words(
    -> id int primary key auto_increment,
    -> word varchar(32) not null,
    -> interpret text not null);

2.搭建基本框架

服务器	创建套接字 --> 创建父子进程 --> 子进程等待处理客户端请求 
	--> 父进程继续接收下一个客户端连接

客户端	创建套接字 --> 发起连接请求 --> 进入一级界面 --> 请求(登录,注册,退出)
	--> 登录成功进入二级界面 --> 请求(查词,历史记录)

3.功能实现:
	
	(1)注册
		客户端:
			1.输入注册信息
			cookie
			getpass模块:可以隐藏密码
			getpass.getpass()
			2.将注册信息发送给服务器
			3.得到服务器反馈
		服务端:
			1.接收请求
			2.判断是否允许注册
			3.将结果反馈给客户端
			4.注册信息插入数据库

	(2)登录
		客户端:
			1.输入登录信息
			2.将登录信息发送给服务器
			3.得到服务器的反馈
		服务端:
			1.接收请求
			2.判断是否可以登录
			3.将结果反馈给客户端

	(3)查单词
		客户端&#
  • 5
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值