发布时间:2018-05-06 11:00:33编辑:admin阅读(5792)
使用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登录程序
47604
45981
36909
34467
29079
25713
24565
19714
19245
17756
5564°
6155°
5690°
5737°
6703°
5482°
5484°
5988°
5965°
7295°