GameMale
登陆 / 注册 搜索

USERCENTER

SEARCHSITE

搜索

查看: 1561|回复: 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
    回复

    使用道具 举报

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

      Burry 发表于 2024-4-30 16:07:24 | 显示全部楼层 <
      回复

      举报

      永亘环小狮欢舞『搓粉团珠』黄粱一梦【新春限定】果体 隆死灵之书永远的克叔業火死鬥实现梦想官复原职

        娱乐法师火布偶 发表于 2024-4-30 16:18:22 | 显示全部楼层 <
        回复

        举报

        诺克提斯·路西斯·伽拉姆Forever Titanic業火死鬥钢铁侠永远的克叔极·龙の意苏格兰圆脸胖鸡[Pro Max]卡利亚权杖虚空之海的鲸史莱姆牧场

          轮回2L 发表于 2024-4-30 16:22:15 | 显示全部楼层 <
          回复

          举报

          小狮欢舞男巫之歌遗留之人的城堡BIG BOSS诺克提斯·路西斯·伽拉姆業火死鬥内森·德雷克克莱夫・罗兹菲尔德性感男神GM莱因哈特·威尔海姆

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

            举报

            千杯不醉漂洋小船冒险用指南针破损的旧书人鱼之泪雪王的心脏苏格兰圆脸胖鸡[Pro Max]丛林的鸟飞走了不曾寄出的信件幽灵竹筒

              凯诺斯 发表于 2024-4-30 16:29:00 | 显示全部楼层 <
              好专业惹,这个通信系统看起来挺强大的
              回复

              举报

              恶魔城无瑕的回忆『搓粉团珠』『不败之花』结晶火鹰幼崽寻求恋爱是我的自由御医神兔近地夜航

                夏漏光微 发表于 2024-4-30 16:40:07 手机端 | 显示全部楼层 <
                回复

                举报

                无瑕的回忆威尔卡斯虎克船长意气风发的海盗刀枪金钱马车朴素的誓言Futūrum(未来)果体76文森特‧瓦伦丁

                  JYYYY 发表于 2024-4-30 16:52:54 | 显示全部楼层 <
                  回复

                  举报

                  近地夜航风物长宜玄生万物云上之光永亘环龙鳞石红心玉

                    cdcai 发表于 2024-4-30 17:23:56 | 显示全部楼层 <
                    回复

                    举报

                    20x43 隐形➀未散的宴席爬行植物Ⓛ『泥潭颂唱者』爬行植物Ⓡ不朽之恋缘起星空希尔瓦娜斯·风行者虚空之海的鲸卡利亚权杖

                      Riverlethe 发表于 2024-4-30 18:07:00 | 显示全部楼层 <
                      回复

                      举报

                      美恐:新的开始近地夜航最终幻想XIV【新春限定】果体 隆和你一起飞行的皮卡丘

                        勿忘我我 发表于 2024-4-30 18:10:39 | 显示全部楼层 <
                        完全看不懂呢 只知道TCP是应用层面的握手协议
                          收起(1)
                        回复

                        举报

                        永亘环『搓粉团珠』火柴 - Gamemale剑指撒冷卡利亚权杖『冰雕马拉橇』银色溜冰鞋【新春限定】果体 隆历练人间未散的宴席

                          水水水冘 发表于 2024-4-30 19:22:56 | 显示全部楼层 <
                          回复

                          举报

                          我的天使GM吸血伯爵吃饱金币的Doge阿拉喵?神灯苏格兰圆脸胖鸡小小舞台永浴爱河

                            毛茸茸兽兽 发表于 2024-4-30 19:24:56 | 显示全部楼层 <
                            回复

                            举报

                            【夏日限定】夏日的泰凯斯钢铁侠永远的克叔克里斯‧雷德菲尔德裸体克里斯【新春限定】果体 隆征服之王史莱姆牧场男巫之歌旧日支配者—克苏鲁

                              歧路歌 发表于 2024-4-30 20:19:04 | 显示全部楼层 <
                              回复

                              举报

                              永亘环『搓粉团珠』『不败之花』时间尽头的虚空朴素的誓言无瑕的回忆『逆境中的幸运女神』幸运女神的微笑

                                thh866 发表于 2024-4-30 21:42:07 | 显示全部楼层 <
                                回复

                                举报

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

                                  黑达克 发表于 2024-4-30 22:05:50 | 显示全部楼层 <
                                  回复

                                  举报

                                  寻觅

                                    shasha55s 发表于 2024-4-30 22:25:06 | 显示全部楼层 <
                                    一直想学python 但工作一直没时间 虽然听说比其他语言要简单很多 但一直摆烂
                                    回复

                                    举报

                                    『搓粉团珠』永远的克叔『伊黎丝的赞词』夜魔藤自由近地夜航吃饱的小阿尔双向圣杯:咒术循环仪式II吃饱金币的Doge

                                      1047399939 发表于 2024-4-30 22:56:11 | 显示全部楼层 <
                                      回复

                                      举报

                                      念念往日士官盔阿帕茶意气风发的海盗刀枪龙血指环冒险专用绳索雄躯的昇格

                                        excaliburazrael 发表于 2024-4-30 23:24:13 | 显示全部楼层 <
                                        回复

                                        举报

                                        牧羊人

                                          a297101660 发表于 2024-4-30 23:37:37 手机端 | 显示全部楼层 <
                                          回复

                                          举报

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

                                          本版积分规则

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

                                          GMT+8, 2025-2-23 09:48 , Processed in 0.144827 second(s), 144 queries , Redis On.

                                          Copyright © 2013-2025 GameMale

                                          All Rights Reserved.

                                          快速回复 返回列表