社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python使用TCP协议实现多服务器负载均衡

Python小屋 • 3 年前 • 533 次点击  

开学第一课:拜托,一定不要这样问Python问题

中国大学MOOC“Python程序设计基础”免费学习地址

2020年秋季学期Python教材推荐与选用参考

推荐图书:

《Python程序设计(第3版)》,(ISBN:978-7-302-55083-9),董付国,清华大学出版社,2020年6月第1次印刷,2021年1月第6次印刷,山东省一流本科课程“Python应用开发”配套教材清华大学出版社2020年度畅销图书(本书第二版为2019、2020年度畅销图书)

京东购买链接:https://item.jd.com/12668739.html

天猫、当当均有销售,可以选择自己常用平台搜索“董付国 第3版”找到本书。
配套资源:教学大纲、电子教案、微课视频、PPT课件、例题源码、习题答案、考试系统。
适用专业:计算机、网络工程、软件工程以及相关专业。
适用学时:>=64
页数:381
定价:59.8
微课视频:77个
教学大纲:《Python程序设计(第3版)》配套教学大纲
习题答案:《Python程序设计(第3版)》课后习题答案


目录(二级)


第1章  基础知识/1

    1.1  如何选择Python版本

    1.2  Python安装与简单使用

    1.3  使用pip管理扩展库

    1.4  Python基础知识

    1.5  Python代码编写规范

    1.6  Python文件名

    1.7  Python程序的__name__属性

    1.8  编写自己的包

    1.9  Python快速入门

    1.10  The Zen of Python

第2章  Python数据结构/31

    2.1  列表

    2.2  元组

    2.3  字典

    2.4  集合

    2.5  其他数据结构

第3章  选择与循环/67

    3.1  运算符与条件表达式

    3.2  选择结构

    3.3  循环结构

    3.4  break和continue语句

    3.5  综合运用

第4章  字符串与正则表达式/83

    4.1  字符串 

    4.2  正则表达式

第5章  函数设计与使用/115

    5.1  函数定义

    5.2  形参与实参

    5.3  参数类型

    5.4  return语句

    5.5  变量作用域

    5.6  lambda表达式

    5.7  案例精选

    5.8  高级话题

第6章  面向对象程序设计/138

    6.1  类的定义与使用

    6.2  类的方法

    6.3  属性

    6.4  特殊方法与运算符重载

    6.5  继承机制

第7章  文件操作/158

    7.1  文件基本操作

    7.2  文本文件基本操作

    7.3  二进制文件操作

    7.4  文件级操作

    7.5  目录操作

    7.6  案例精选

第8章  异常处理结构与程序调试/181

    8.1  基本概念

    8.2  Python异常类与自定义异常

    8.3  Python中的异常处理结构

    8.4  断言与上下文管理

    8.5  使用IDLE调试代码

    8.6  使用pdb模块调试程序

第9章  GUI编程/199

    9.1  tkinter基础

    9.2  tkinter精彩编程

第10章  网络程序设计/230

    10.1  计算机网络基础知识

    10.2  UDP和TCP编程

    10.3  Socket编程案例精选

    10.4  网页内容读取与网页爬虫

第11章  安卓平台的Python编程/248

    11.1  QPython简介

    11.2  安卓应用开发案例

第12章  Windows系统编程/254

    12.1  注册表编程

    12.2  创建可执行文件

    12.3  调用外部程序

    12.4  创建窗口

    12.5  判断操作系统版本

    12.6  系统运维

第13章  多线程与多进程编程/273

    13.1  threading模块

    13.2  Thread对象

    13.3  线程同步技术

    13.4  多进程编程

第14章  数据库编程/294

    14.1  SQLite应用

    14.2  访问其他类型数据库

第15章  多媒体编程/306

    15.1  图形编程

    15.2  图像编程

    15.3  音乐编程

    15.4  语音识别

    15.5  视频处理和摄像头接口调用

第16章  逆向工程与软件分析/328

    16.1  主流项目与插件简介

    16.2  IDAPython与Immunity Debugger编程

    16.3  Windows平台软件调试原理

    16.4  案例精选

第17章  科学计算与可视化/349

    17.1  numpy简单应用

    17.2  scipy简单应用

    17.3  matplotlib简单应用

    17.4  数据分析模块pandas

    17.5  统计分析模块statistics

第18章  密码学编程/377

    18.1  安全哈希算法

    18.2  对称密钥密码算法DES和AES

    18.3  非对称密钥密码算法RSA与数字签名算法DSA




=======================

任务描述:

使用Python+socket+threading编写程序,客户端提交任务给代理服务器,代理服务器随机选择可用服务端并分发任务,然后在服务端和客户端转发信息,实现多服务器的负载均衡。

技术原理:

每个服务端程序启动之后都自动在代理服务器上注册来表明自己可以正常工作,代理服务器负责接收客户端的任务请求并自动分配可用服务端完成该任务,然后在二者之间转发更多数据和处理结果,同时根据多个服务器的状态动态更新可用服务端清单。

主要模块:

1)socket:实现TCP协议通信。

2)threading:实现多线程编程。

3)struct:用于数据序列化与反序列化。

关键技术:

套接字编程,多线程编程。

参考代码:(用书老师可以联系董老师获取源码)

1)客户端程序


2)代理服务器程序


3)服务器程序


运行结果:



温馨提示:
关注微信公众号“Python小屋”,在公众号后台发送消息“大事记”可以查看董付国老师与Python有关的重要事件;发送消息“教材”可以查看董付国老师出版的Python系列教材(累计印刷超过120次)的适用专业详情;发送消息“历史文章”可以查看董付国老师推送的超过1000篇原创技术文章;发送消息“会议”或“培训”可以查看近期董付国老师的培训安排;发送消息“微课”可以查看董付国老师免费分享的超过500节Python微课视频;发送消息“ 课件”可以查看董付国老师免费分享的Python教学资源;发送消息“小屋刷题”可以下载“Python小屋刷题神器”,免费练习1318道客观题和248道编程题,题库持续更新;发送消息“编程比赛”了解Python小屋编程大赛详情。
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/110888
 
533 次点击