项目描述:实现多人异步文字聊天
技术选型:python的socket模块、Tkinter模块、threading
开发工具:vim
开发过程:
1、首先画出整个系统服务器和客户端的交互图,将整个的系统的逻辑理清【见附图3 服务器客户端交互图】
针对一开始设定的实现目标:多人多任务文字聊天,画出了登录->登录验证->消息的缓存->同时在线聊天等多个模块的交互逻辑,这样在正式写代码的时候就不会走那么多弯路,尤其是有效逻辑不严谨带来的额外工作开销。
2、设计整个项目的结构【见附图1 项目源码组织图】,主要包括:
- msg包:自定义简单的应用协议,实现消息的封装
- tools包:一些工具类的封装,如对底层数据的读写时候的编码和解码
- tcpClient:客户端程序
- tcpServer:服务器段程序
3、代码实现
主要参考《python与Tkinter编程》
《python核心编程》
《python网络编程基础》21章关于线程的部分
以及python在线库参考文档中关于socket模块/struct模块/xml解析相关模块
所有源码可在附件下载LingL_src.tar.gz
附图1 :项目源码目录结构图:
附图2 :用户关系配置文件LingL/tcpServer/relationships.xml:
附图3 :客户端服务器交互时序图:
附图4 :客户端聊天界面(很是粗糙呀!呵呵~):
- 大小: 34.4 KB
- 大小: 30.5 KB
- 大小: 47.9 KB
- 大小: 264.9 KB
分享到:
相关推荐
python项目——高德地图+58租房.zip python项目——高德地图+58租房.zip python项目——高德地图+58租房.zip python项目——高德地图+58租房.zip python项目——高德地图+58租房.zip python项目——高德地图+58租房....
Python基于Django的实战项目源码——美多商城 Python基于Django的实战项目源码——美多商城 Python基于Django的实战项目源码——美多商城 Python基于Django的实战项目源码——美多商城 Python基于Django的...
基于python的绿幕抠图+双层抠图+多线程.zip基于python的绿幕抠图+双层抠图+多线程.zip基于python的绿幕抠图+双层抠图+多线程.zip基于python的绿幕抠图+双层抠图+多线程.zip基于python的绿幕抠图+双层抠图+多线程.zip...
Python毕业设计——基于Opencv手势识别系统源码+文档Python毕业设计——基于Opencv手势识别系统源码+文档Python毕业设计——基于Opencv手势识别系统源码+文档Python毕业设计——基于Opencv手势识别系统源码+文档...
在"python开发+多线程.zip"这个压缩包中,包含了一系列关于Python编程的初级到精通的学习资料,特别是聚焦于函数、文件操作、多线程和网络编程这四个关键领域。下面将对这些主题进行深入的探讨。 首先,让我们谈谈...
python项目——智慧校园考试系统.zip python项目——智慧校园考试系统.zip python项目——智慧校园考试系统.zip python项目——智慧校园考试系统.zip python项目——智慧校园考试系统.zip python项目——智慧校园...
Python毕业设计——基于YOLOV5的手势识别系统源码+文档 Python毕业设计——基于YOLOV5的手势识别系统源码+文档 Python毕业设计——基于YOLOV5的手势识别系统源码+文档 Python毕业设计——基于YOLOV5的手势识别系统...
在本项目"百度飞桨python+AI基础小白营——大作业《青春有你2》评论分析"中,我们将深入探讨如何使用Python编程语言以及相关的AI技术来分析《青春有你2》节目的观众评论。这个任务旨在帮助初学者掌握Python的基础...
python项目——DIY字符画.zip python项目——DIY字符画.zip python项目——DIY字符画.zip python项目——DIY字符画.zip python项目——DIY字符画.zip python项目——DIY字符画.zip python项目——DIY字符画.zip ...
python项目——Word助手.zip python项目——Word助手.zip python项目——Word助手.zip python项目——Word助手.zip python项目——Word助手.zip python项目——Word助手.zip python项目——Word助手.zip python项目...
基于python3的多线程知乎用户爬虫项目;基于python3的多线程知乎用户爬虫项目;基于python3的多线程知乎用户爬虫项目;基于python3的多线程知乎用户爬虫项目;基于python3的多线程知乎用户爬虫项目;基于python3的多...
本科毕业设计——自然语言处理+NLP+中文文本分类实战——垃圾短信识别本科毕业设计——自然语言处理+NLP+中文文本分类实战——垃圾短信识别本科毕业设计——自然语言处理+NLP+中文文本分类实战——垃圾短信识别本科...
python项目——开心麻花影视作品分析.zip python项目——开心麻花影视作品分析.zip python项目——开心麻花影视作品分析.zip python项目——开心麻花影视作品分析.zip python项目——开心麻花影视作品分析.zip ...
适合新手,图书馆管理系统Python+MySQL+tkinter图形化界面+数据库+源码(注释详细) 适合新手,图书馆管理系统Python+MySQL+tkinter图形化界面+数据库+源码(注释详细) 适合新手,图书馆管理系统Python+MySQL+...
基于python+bs+rq+gevent多线程爬取妹子图项目源码.zip 基于python+bs+rq+gevent多线程爬取妹子图项目源码.zip 基于python+bs+rq+gevent多线程爬取妹子图项目源码.zip
python项目——Excel数据分析师.zip python项目——Excel数据分析师.zip python项目——Excel数据分析师.zip python项目——Excel数据分析师.zip python项目——Excel数据分析师.zip python项目——Excel数据分析师....
python项目——火车票分析助手.zip python项目——火车票分析助手.zip python项目——火车票分析助手.zip python项目——火车票分析助手.zip python项目——火车票分析助手.zip python项目——火车票分析助手.zip ...
python项目——玛丽冒险.zip python项目——玛丽冒险.zip python项目——玛丽冒险.zip python项目——玛丽冒险.zip python项目——玛丽冒险.zip python项目——玛丽冒险.zip python项目——玛丽冒险.zip python项目...
python项目——微信机器人.zip python项目——微信机器人.zip python项目——微信机器人.zip python项目——微信机器人.zip python项目——微信机器人.zip python项目——微信机器人.zip python项目——微信机器人....
python项目——甜橙音乐网.zip python项目——甜橙音乐网.zip python项目——甜橙音乐网.zip python项目——甜橙音乐网.zip python项目——甜橙音乐网.zip python项目——甜橙音乐网.zip python项目——甜橙音乐网....