立即学习:https://edu.csdn.net/course/play/24458/296237?utm_source=blogtoedu

链接循环,一个服务器服务多个客户端,

思路1:服务器一个一个地去服务客服端,等服务完一个客户端后,再去服务下一个客户端。

弊端:不可以一次性去处理所有的客户端请求,一个一个处理处理的速度非常之慢,实际中是使用多线程进行并发编程。并且最多只能监听5个客户端请求,靠phone.listen(5)语句实现

.....phone.listen(5)#加上链接循环,使得服务器一直处于运行的状态,一个客户端服务关闭后,就会继续等待接收另一个客户端的请求,如此往复
while True:res = phone.accept()conn,client_addr = reswhile True:#解决客户端单方面关闭而服务器还在等待时会报ConnectionResetError错误的bugtry:data = conn.recv(1024)#1024表示接收的字节最大量是1024bytesprint('这是客户端的请求数据',data)conn.send(data.upper())except ConnectionResetError:breakconn.close()phone close()

思路2:利用线程并发编程实现

学习笔记(08):Python网络编程并发编程-实现服务端可以对多个客户端提供服务相关推荐

  1. 学习笔记(11):Python网络编程并发编程-粘包底层原理分析

    立即学习:https://edu.csdn.net/course/play/24458/296241?utm_source=blogtoedu  1.send和recv底层分析 1)不管是recv还是 ...

  2. Python网络与并发编程 01 Socket编程

    前瞻知识 C/S架构 C/S架构是一种由服务端(Server)和客户端(Client)组成的双层架构. 互联网中处处充满了C/S架构(Client/Server),比如我们需要玩英雄联盟,就必须连接至 ...

  3. 学习笔记(19):Python网络编程并发编程-互斥锁

    立即学习:https://edu.csdn.net/course/play/24458/296430?utm_source=blogtoedu 1.互斥锁: 多进程间的内存是相互隔离的,因此其数据也是 ...

  4. 学习笔记(34):Python网络编程并发编程-异步调用与回调机制

    立即学习:https://edu.csdn.net/course/play/24458/296452?utm_source=blogtoedu 1.知识点:(详细见代码注释) 1)同步调用: res1 ...

  5. 学习笔记(33):Python网络编程并发编程-进程池线程池

    立即学习:https://edu.csdn.net/course/play/24458/296451?utm_source=blogtoedu 进程池与线程池: 一般应用在网站上,进程池或线程池最大的 ...

  6. 学习笔记(28):Python网络编程并发编程-死锁与递归锁

    立即学习:https://edu.csdn.net/course/play/24458/296445?utm_source=blogtoedu 1.死锁(Lock()的局限性) 知识点:Lock()只 ...

  7. 学习笔记(18):Python网络编程并发编程-守护进程

    立即学习:https://edu.csdn.net/course/play/24458/296429?utm_source=blogtoedu 守护进程(了解) 1.概念:守护进程是主进程在创建子进程 ...

  8. 学习笔记(06):Python网络编程并发编程-在简单套接字基础上加上通信循环

    立即学习:https://edu.csdn.net/course/play/24458/296235?utm_source=blogtoedu 1.服务器端 #以打电话通讯为例子进行说明 #导入相应的 ...

  9. 学习笔记(12):Python网络编程并发编程-解决粘包问题-简单版本

    立即学习:https://edu.csdn.net/course/play/24458/296243?utm_source=blogtoedu 粘包现象的解决:简单版 1.思路:       在服务器 ...

最新文章

  1. AI视频行为分析系统项目复盘——技术篇1:Ubuntu 18.04部署编译OpenCV+contrib、TensorFlow2.1、CUDA10.1+cuDNN7.6.5、tensorRT6.0.1等
  2. python使用matplotlib中的errorbar函数可视化误差条、并自定义数据点标记、数据点大小、数据点颜色、数据点边缘颜色、误差棒颜色、误差棒线条宽度、误差棒边界线长度、误差棒边界线厚度等
  3. HTML 杨辉三角,杨辉三角 - 哼哼哈嘿 - OSCHINA - 中文开源技术交流社区
  4. 【 Notes 】NLS ALGORITHMS of TOA - Based Positioning
  5. 常用服务器返回码意义
  6. 编程十年 (4):步入编程殿堂
  7. 离散数学关系的基本运算和关系的性质闭包
  8. CentOS安全设置
  9. 美国广告市场:Facebook和Google将占据四分之一市场份额
  10. 二下语文书电子课本_沪教版牛津英语小学五年级上册高清电子课本教材书(三年级起点)...
  11. 软件测试第五周 - 编码的 UI 测试
  12. 2016-2017 ACM Central Region of Russia Quarterfinal Programming Contest
  13. Echarts横向的柱状图
  14. C语言数据结构之顺序队列
  15. MySql数据库的安装,mysql-5.5.28-winx64.msi
  16. php libiconv close_undefined reference to `libiconv_open 无法编译PHP
  17. LimeSDR环境的安装
  18. 数据压缩1 | 浊音清音爆破音时域及频域特性
  19. 5G技术是如何改变我们的生活
  20. License information could not be obtained from Elasticsearch due to Error: Request Timeout after 300

热门文章

  1. 关于dllimport的使用
  2. 锅巴H264播放器地址和说明
  3. Oracle 随机获取N条数据
  4. 对jQuery的认识
  5. Angular 内容投影 II
  6. Swift傻傻分不清楚系列(五) 字符串和字符
  7. spring中bean的作用域属性single与prototype的区别
  8. 用servlet设计OA管理系统时遇到问题
  9. 这可能是我见过最详细的快速排序!
  10. 20155307 2016-2017 《Java程序设计》第三次实验报告