发布时间:2018-05-06 11:00:33编辑:admin阅读(5835)
使用UDP协议来做
要求:
1.使用软件开发规划来做,尽量使用面向对象的思想编程。
2. 先执行登录程序,三次登录失败直接退出程序。登录成功和失败记录日志。
3. 登录成功之后,自动启动客户端。服务端手动启动,用来和客户端交互
4. 登录成功之后,能执行相应的操作(查看所有用户,查看我的好友,添加我的好友,删除我的好友,退出)
5. 聊天信息显示当前时间
6. 进阶需求:
1.所有菜单展示隔行换色。
2.每个用户有自己的颜色,(从文件中读取)
3.聊天信息,展示自己的颜色。
流程图如下:
我创建的目录和文件结构如下:
chat ├── bin │ └── start.py # 开始程序 ├── conf │ └── settings.py # 配置文件 ├── core │ ├── checkfiles.py # 检查配置文件 │ ├── client.py # 客户端 │ ├── login.py # 登录模块 │ ├── main.py # 核心程序 │ └── server.py # 服务器 ├── db │ └── user_info.txt # 用户认证文件 ├── lib │ ├── mylogger.py # 自定义日志模块 │ ├── mypickle.py # 自定义pickle模块 │ ├── mysocket.py # 自定义socket模块 │ └── Prompt.py # 自定义颜色显示模块 └── log └── test.log # 日志文件
user_info.txt我存的是字典
{'username': 'xiao', 'password': '123', 'color': 'red','friends':[],'ip': ('127.0.0.1', 9090)}
建议不要使用以下格式:
xiao|123|red|...
因为经常有人遇到,切割的时候,忘了去掉空格或者换行符。导致登录失败,纠结几个小时。
为了避免这种问题,使用字典,就可以了。
完整代码我上传到github.com中
地址为:
https://github.com/py3study/chat
登录成功之后,菜单列表展示为隔行换色
默认创建好了4个用户。效果如下:
上一篇: 面向对象作业——校园管理系统
下一篇: socket作业——ftp登录程序
47675
46116
37002
34563
29164
25824
24656
19794
19339
17832
5639°
6221°
5765°
5818°
6772°
5560°
5558°
6055°
6033°
7366°