文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

socket作业——聊天系统

2023-01-30 22:00

关注

使用UDP协议来做

要求:

1.使用软件开发规划来做,尽量使用面向对象的思想编程。

2. 先执行登录程序,三次登录失败直接退出程序。登录成功和失败记录日志。

3. 登录成功之后,自动启动客户端。服务端手动启动,用来和客户端交互

4. 登录成功之后,能执行相应的操作(查看所有用户,查看我的好友,添加我的好友,删除我的好友,退出)

5. 聊天信息显示当前时间

6. 进阶需求:

    1.所有菜单展示隔行换色。

    2.每个用户有自己的颜色,(从文件中读取)

    3.聊天信息,展示自己的颜色。


流程图如下:

blob.png


我创建的目录和文件结构如下:

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个用户。效果如下:

效果图.gif


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯