python通信工程_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

下载次数: 245

1

1

分享到:

2011-11-24 23:48

浏览 7526

评论

2 楼

zbingwen

2015-09-06

代码下载是个二进制文档啊

1 楼

zhonglou001

2013-08-31

您好,代码下载之后,打开为乱码??

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值