【python】基于TCP的服务器-客户端通信系统
本帖最后由 白冥 于 2024-4-30 16:07 编辑观前提醒,由于文件放在附件却总是上传失败,不得已把我的github链接放过来。(版主大大,不是广告!!!)
秉承则一起学习的原则,放上这段github链接:https://github.com/kitadoyao/-python-
文件概述:
[*]config.ini:配置文件,包含服务器、客户端、消息类型、指令和错误信息的配置。
[*]config.py:从config.ini读取配置信息,并定义了一些类来封装这些配置。
[*]message.py:定义了消息相关的操作,如序列化、反序列化、消息验证等。
[*]thread_manager.py:一个线程管理器,用于在后台启动和管理线程。
[*]client_socket.py:客户端socket的实现,包括初始化socket、发送消息、接收消息、处理心跳等。
[*]server_socket.py:服务器socket的实现,包括初始化socket、监听连接、接收消息、处理消息等。
[*]client.py 和 server.py:分别是客户端和服务器的主程序,负责启动和管理socket通信。
设计要点:
[*]模块化设计:代码被分为多个模块,每个模块负责不同的功能(如配置、消息处理、线程管理等),使得代码结构清晰,易于维护和扩展。
[*]配置文件使用:通过config.ini文件来管理配置信息,使得配置更加灵活,方便修改。
[*]消息验证:message.py中实现了消息的验证功能,确保接收到的消息格式正确。
[*]异常处理:在socket通信的关键部分(如发送、接收消息)加入了异常处理,增强了程序的健壮性。
[*]多线程处理:使用多线程来处理客户端的请求和服务器的事件,提高了系统的并发处理能力。
阅读顺序:
[*]从文件概述的顺序来就行
更新了:
[*]把鸽了许久的服务端部分完成了
[*]添加了广播的功能,现在可以让用户跟所有其他客户端套接字互发信息了
[*]添加了传送文件的功能,但是不是很完善
[*]配置文件里添加了Error类,现在发送不合协议的信息会发出Error警告
[*]继续细分了模块,以后可以扩展的功能将会更多
放上一张镇楼图:
这个系统不好一点是全是英文,操作起来有点麻烦呢。 内容很硬核,有点像在看CSDN 默默观看大佬之间交流ing{:6_167:} 什么叫做文件放在附件上传失败啊?!没看懂 好专业惹,这个通信系统看起来挺强大的{:3_59:} 什么东西,论坛客户端版本吗 文件上传失败应该是附件太大了 有些人反应上传txt会出错,可以试试word 收下膝盖……好吧确实是为了回帖金币…因为真的看不懂…… 完全看不懂呢 只知道TCP是应用层面的握手协议 很厉害,先夸一下再说 看不懂但大受震撼.jpg泥潭很少有这类技术交流帖的欸 没有明白这是用来干什么的,感觉和大佬之间已经有厚厚的屏障了{:6_194:} 我在泥潭学编程系列{:6_194:} 写得好专业啊,分享github链接的话应该没有关系吧。 一直想学python 但工作一直没时间 虽然听说比其他语言要简单很多 但一直摆烂:loveliness: GM竟有IT类的专业帖
坛子藏龙卧虎 懒鱼瑟瑟发抖 好硬核,完全看不懂,瑟瑟发抖,回帖蹭硬币先( 泥潭竟然还有技术帖呢吗。
页:
[1]
2