在线词典项目描述:
版本号:v1.1
升级描述:1. 同时支持管理员(用户名:root,密码:1)和普通用户
2. 管理员可以查询所有用户的使用记录
服务器:
1. 支持并发服务器,每有一个客户端connect成功后,提示某某客户端已连接并打印客户端的ip和端口号。
2. 服务器程序可在任意IP地址上运行,并且允许IP地址快速重用
3. 接收到客户端的信息后,可以执行相应的操作:注册,登陆,退出
注册:接收到注册新用户指令后,可以创建sqlite3数据库,将用户名和密码存储到数据库的user表中(用户名name为primary key)。
登陆:接收到登陆命令,可以查询客户端输入的用户名和密码数据库中有没有,有的话跳到下一个菜单(查询单词,历史纪录,退出),没有的话打印错误信息。
查询单词:用户输入单词,服务器从dict.txt文件中遍历有无该单词,有的话打印释义,没有的话打印错误信息,并将用(户名,时间,单词)存储到数据库的history_record表中。(‘#’返回上一级菜单)
历史纪录:用户选择历史记录查询,服务器从数据库的history_record表查询相同name的记录,每查询到一条,调用一次callback将信息发送到客户端,查询完毕后通知客户端。
退出:客户端退出,服务器打印"client exit!"
退出:客户端退出,服务器打印"client exit!"
客户端:
1. 客户端输入./client 192.168.23.128(服务器IP地址) 10000(端口号),参数格式不对或少报错,端口号不能小于5000,小于5000报错
2. 客户端支持注册,登陆,退出
注册:向服务器发送用户名和密码,接收服务器返回来的信息,注册成功/当前用户已存在
登陆:用户输入用户名和密码,客服端将用户名和密码发送给服务器,接收服务器返回的信息,如果OK,打印Login OK! 进入下一菜单(查询单词,历史纪录,退出),否则打印错误信息
查询单词:用户输入单词,客户端将单词发送给服务器,服务器将释义返回给客户端,客户端将释义打印出来
历史纪录:用户选择历史记录查询,客户端将信息发送给服务器,服务器循环把该用户的历史查询记录发送给客户端,客户端循环将其打印出来。
退出:客户端关闭套接字后结束进程
退出:客户端关闭套接字后结束进程
1