GameMale
登陆 / 注册 搜索

USERCENTER

SEARCHSITE

搜索

查看: 1360|回复: 36
收起左侧

[技术交流] 【python】基于TCP的服务器-客户端通信系统

[复制链接] |关注本帖

邪恶的面具堕落之舞风雪之家香喷喷的烤鸡眼镜蛇图腾寻觅牧羊人

     楼主| 白冥 发表于 2024-4-30 16:05:18 | 显示全部楼层 |阅读模式 |取消关注该作者的回复
    本帖最后由 白冥 于 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警告
    • 继续细分了模块,以后可以扩展的功能将会更多


    放上一张镇楼图:





    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    回复

    使用道具 举报

    实现梦想業火死鬥魔法不朽·传奇不熄卡洛斯·奥利维拉白野威十年一梦官复原职男巫之歌永浴爱河虚空之海的鲸

      回复

      使用道具 举报

      百相千面-晦永远的克叔業火死鬥实现梦想官复原职虚空之海的鲸Zootopia幸运女神的微笑『逆境中的幸运女神』御医神兔

        回复

        使用道具 举报

        诺克提斯·路西斯·伽拉姆Forever Titanic業火死鬥钢铁侠永远的克叔极·龙の意死灵之书卡利亚权杖虚空之海的鲸史莱姆牧场

          回复

          使用道具 举报

          内森·德雷克業火死鬥诺克提斯·路西斯·伽拉姆BIG BOSS克莱夫・罗兹菲尔德岛田半藏性感男神GM莱因哈特·威尔海姆

            koh 发表于 2024-4-30 16:23:51 | 显示全部楼层 |取消关注该作者的回复
            什么叫做文件放在附件上传失败啊?!没看懂
              收起(2)
            回复

            使用道具 举报

            不曾寄出的信件『随时随地开启!』漂洋小船『随时随地开启!』冒险用指南针破损的旧书丛林的鸟飞走了雪王的心脏人鱼之泪幽灵竹筒

              好专业惹,这个通信系统看起来挺强大的
              回复

              使用道具 举报

              恶魔城驯化黑龙幼崽沼泽黏附者驯化红龙幼崽近地夜航

                夏漏光微 发表于 2024-4-30 16:40:07 手机端 | 显示全部楼层 |取消关注该作者的回复
                回复

                使用道具 举报

                无瑕的回忆朴素的誓言Futūrum(未来)果体76文森特‧瓦伦丁永远的克叔里昂‧S‧甘乃迪传说的黑道-桐生一马

                  回复

                  使用道具 举报

                  虚空之海的鲸『私有海域』『钜鲸』『星河碎片』『召唤好运的角笛』『交钥匙了!』『矩阵谜钥Ⓖ』十周年扭蛋 - 红『落樱缤纷』红心玉

                    回复

                    使用道具 举报

                    希尔瓦娜斯·风行者麦迪文(Medivh)阿尔萨斯‧米奈希尔创生之柱卡德加(Khadgar)安杜因·乌瑞恩我的天使夏日柯基幸福的小阿尔吃饱金币的Doge

                      回复

                      使用道具 举报

                      美恐:新的开始

                        完全看不懂呢 只知道TCP是应用层面的握手协议
                          收起(1)
                        回复

                        使用道具 举报

                        『钟楼盐水棒冰』小小安全帽Forever Titanic神人的编制发无尽的怀表冒险专用绳索金牌矿工御医神兔幸运女神的微笑『逆境中的幸运女神』

                          回复

                          使用道具 举报

                          我的天使GM吸血伯爵吃饱金币的Doge阿拉喵?神灯和你一起飞行的皮卡丘小小舞台永浴爱河

                            回复

                            使用道具 举报

                            永远的克叔【夏日限定】夏日的泰凯斯钢铁侠裸体克里斯【圣诞限定】心心念念小雪人『召唤好运的角笛』征服之王史莱姆牧场男巫之歌旧日支配者—克苏鲁

                              回复

                              使用道具 举报

                              朴素的誓言无瑕的回忆『逆境中的幸运女神』幸运女神的微笑GHOST瓮中能言蛙近地夜航

                                回复

                                使用道具 举报

                                亚索月影狼晓月终焉旅行骰子!卡利亚权杖

                                  回复

                                  使用道具 举报

                                    一直想学python 但工作一直没时间 虽然听说比其他语言要简单很多 但一直摆烂
                                    回复

                                    使用道具 举报

                                    吃饱的小阿尔近地夜航自由夜魔藤『伊黎丝的赞词』永远的克叔吃饱金币的Doge肥皂终归一人

                                      回复

                                      使用道具 举报

                                      GM論壇勛章念念往日士官盔牧羊人阿帕茶意气风发的海盗刀枪龙血指环冒险专用绳索

                                        回复

                                        使用道具 举报

                                        牧羊人

                                          a297101660 发表于 2024-4-30 23:37:37 手机端 | 显示全部楼层 |取消关注该作者的回复
                                          回复

                                          使用道具 举报

                                          您需要登录后才可以回帖 登录 | 立即注册

                                          本版积分规则

                                          文字版|手机版|小黑屋|GameMale

                                          GMT+8, 2024-12-22 10:31 , Processed in 0.186473 second(s), 142 queries , Redis On.

                                          Copyright © 2013-2024 GameMale

                                          All Rights Reserved.

                                          快速回复 返回列表