`

python通信+多线程动手项目——多用户IM

 
阅读更多

项目描述:实现多人异步文字聊天

 

技术选型: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
1
1
分享到:
评论
2 楼 zbingwen 2015-09-06  
代码下载是个二进制文档啊
1 楼 zhonglou001 2013-08-31  
您好,代码下载之后,打开为乱码??

相关推荐

    python项目——高德地图+58租房.zip

    python项目——高德地图+58租房.zip python项目——高德地图+58租房.zip python项目——高德地图+58租房.zip python项目——高德地图+58租房.zip python项目——高德地图+58租房.zip python项目——高德地图+58租房....

    Python基于Django的实战项目源码——美多商城.zip

    Python基于Django的实战项目源码——美多商城 Python基于Django的实战项目源码——美多商城 Python基于Django的实战项目源码——美多商城 Python基于Django的实战项目源码——美多商城 Python基于Django的...

    基于python的绿幕抠图+双层抠图+多线程.zip

    基于python的绿幕抠图+双层抠图+多线程.zip基于python的绿幕抠图+双层抠图+多线程.zip基于python的绿幕抠图+双层抠图+多线程.zip基于python的绿幕抠图+双层抠图+多线程.zip基于python的绿幕抠图+双层抠图+多线程.zip...

    Python毕业设计-基于Opencv手势识别系统源码+文档

    Python毕业设计——基于Opencv手势识别系统源码+文档Python毕业设计——基于Opencv手势识别系统源码+文档Python毕业设计——基于Opencv手势识别系统源码+文档Python毕业设计——基于Opencv手势识别系统源码+文档...

    python开发+多线程.zip

    在"python开发+多线程.zip"这个压缩包中,包含了一系列关于Python编程的初级到精通的学习资料,特别是聚焦于函数、文件操作、多线程和网络编程这四个关键领域。下面将对这些主题进行深入的探讨。 首先,让我们谈谈...

    python项目——智慧校园考试系统.zip

    python项目——智慧校园考试系统.zip python项目——智慧校园考试系统.zip python项目——智慧校园考试系统.zip python项目——智慧校园考试系统.zip python项目——智慧校园考试系统.zip python项目——智慧校园...

    基于YOLOV5的手势识别系统源码(毕设)+文档+数据集

    Python毕业设计——基于YOLOV5的手势识别系统源码+文档 Python毕业设计——基于YOLOV5的手势识别系统源码+文档 Python毕业设计——基于YOLOV5的手势识别系统源码+文档 Python毕业设计——基于YOLOV5的手势识别系统...

    百度飞桨python+AI基础小白营——大作业《青春有你2》评论分析

    在本项目"百度飞桨python+AI基础小白营——大作业《青春有你2》评论分析"中,我们将深入探讨如何使用Python编程语言以及相关的AI技术来分析《青春有你2》节目的观众评论。这个任务旨在帮助初学者掌握Python的基础...

    Python队列+多线程爬虫(起点小说网、豆瓣、京东订单、百度贴吧、淘宝优惠券6W数据、糗事百科).zip

    Python队列+多线程爬虫(起点小说网、豆瓣、京东订单、百度贴吧、淘宝优惠券6W数据、糗事百科)

    python项目——企业编码管理.zip

    python项目——企业编码管理.zip python项目——企业编码管理.zip python项目——企业编码管理.zip python项目——企业编码管理.zip python项目——企业编码管理.zip python项目——企业编码管理.zip python项目——...

    python项目——DIY字符画.zip

    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项目——Word助手.zip python项目...

    基于python3的多线程知乎用户爬虫项目

    基于python3的多线程知乎用户爬虫项目;基于python3的多线程知乎用户爬虫项目;基于python3的多线程知乎用户爬虫项目;基于python3的多线程知乎用户爬虫项目;基于python3的多线程知乎用户爬虫项目;基于python3的多...

    本科毕业设计-自然语言处理+NLP+中文文本分类实战-垃圾短信识别

    本科毕业设计——自然语言处理+NLP+中文文本分类实战——垃圾短信识别本科毕业设计——自然语言处理+NLP+中文文本分类实战——垃圾短信识别本科毕业设计——自然语言处理+NLP+中文文本分类实战——垃圾短信识别本科...

    python项目——开心麻花影视作品分析.zip

    python项目——开心麻花影视作品分析.zip python项目——开心麻花影视作品分析.zip python项目——开心麻花影视作品分析.zip python项目——开心麻花影视作品分析.zip python项目——开心麻花影视作品分析.zip ...

    图书馆管理系统Python+MySQL+tkinter图形化界面+数据库+源码(注释详细)

    适合新手,图书馆管理系统Python+MySQL+tkinter图形化界面+数据库+源码(注释详细) 适合新手,图书馆管理系统Python+MySQL+tkinter图形化界面+数据库+源码(注释详细) 适合新手,图书馆管理系统Python+MySQL+...

    基于python+bs+rq+gevent多线程爬取妹子图项目源码.zip

    基于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数据分析师.zip python项目——Excel数据分析师....

    毕业设计-基于Python+卷积神经网络的人脸识别+驾驶员疲劳检测与预警系统的设计与实现源码+数据集

    毕业设计——基于Python+卷积神经网络的人脸识别+驾驶员疲劳检测与预警系统的设计与实现源码+数据集,该项目是个人毕设项目,答辩评审分达到98分,代码都经过调试测试,确保可以运行!欢迎下载使用,可用于小白学习...

    python项目——火车票分析助手.zip

    python项目——火车票分析助手.zip python项目——火车票分析助手.zip python项目——火车票分析助手.zip python项目——火车票分析助手.zip python项目——火车票分析助手.zip python项目——火车票分析助手.zip ...

Global site tag (gtag.js) - Google Analytics