在服务器端,socket()返回的套接字用于监听(listen)和接受(accept),这个套接字不能用于与客户端之间发送和接收数据。

accept()接受一个客户端的连接请求,并返回一个新的套接字,不同于以上socket()返回的用于监听和接受客户端的连接请求的套接字;
与此客户端通信是通过这个新的套接字上发送和接收数据来完成的。

每个连接进来的客户端,都会通过accept函数返回一个不同的客户端的socket对象和属于客户端的套接字,代码如图:

假设一共有3个客户端连接到服务器端,那么在服务器端就移动有4个套接字,第1个是socket()返回的,用于监听的套接字;
其余3个是分别调用3次accept()返回的不同的套接字。

如果已经有客户端连接到服务器端,不再需要监听和接受更多的客户端连接的时候,可以关闭由socket()返回的套接字,而不会影响与客户端之间的通信。

Python中网络编程对 socket accept 函数的理解相关推荐

  1. 网络编程socket accept函数的理解

    在服务器端,socket()返回的套接字用于监听(listen)和接受(accept)客户端的连接请求.这个套接字不能用于与客户端之间发送和接收数据. accept()接受一个客户端的连接请求,并返回 ...

  2. Python之网络编程(Socket)

    1.网络通信原理与互联网协议 详见:https://www.cnblogs.com/JackLi07/p/9218039.html 2.socket层 以上是tcp/ip五层协议的结构图,我们没有看到 ...

  3. Python之网络编程(socket基础)

    文章目录 客户端/服务器架构 1.即C/S架构 2.C/S架构与socket的关系 3.两机交互的原理 Socket编程 1.socket编程的概念 2.socket的两种类型 3.socket的运行 ...

  4. python中网络编程(持续更新)

    进程,线程和协程 进程:(进程是资源分配的最小单位.) 程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程.程序和进程的区别就在于:程序是指令的集合,它 ...

  5. python中网络编程总结(udp,tcp)

    一.udp用户数据报协议(写信的模型:在通信开始,不需要建立相关的连接,只需要发送数据即可,类似于生活中的写信)(不安全:发的消息可能会丢,对方不会请求再发一遍) 1.ipv4:_ _ _ ._ _ ...

  6. Python高级网络编程系列之第一篇

    在上一篇中我们简单的说了一下Python中网络编程的基础知识(相关API就不解释了),其中还有什么细节的知识点没有进行说明,如什么是TCP/IP协议有几种状态,什么是TCP三次握手,什么是TCP四次握 ...

  7. Python之网络编程(TCP套接字与UDP套接字)

    文章目录 基于tcp的套接字 实现目标 tcp服务端源码 tcp客户端源码 tcp效果实现 基于udp的套接字 udp作用介绍 udp服务端源码 udp客户端源码 udp效果实现 用udp实现一个时间 ...

  8. Python 网络编程(Socket)

    Python 网络编程(Socket) 一.Socket 套接字 1.Socket 编程 socket本质是编程接口(API),对TCP/IP的封装,提供可供程序员做网络开发所用的接口.Socket ...

  9. python recv_python网络编程调用recv函数完整接收数据的三种方法

    最近在使用python进行网络编程开发一个通用的tcpclient测试小工具.在使用socket进行网络编程中,如何判定对端发送一条报文是否接收完成,是进行socket网络开发必须要考虑的一个问题.这 ...

最新文章

  1. Log4j格式化符号
  2. ContentProvider学习笔记
  3. 【若依(ruoyi)】重置密码SQL脚本
  4. 【Django】ORM操作#2
  5. 以整体思维看问题:解决单页应用,系统角色请求覆盖身份唯一标识(本项目中是session_id命名的)发送请求问题...
  6. mysql 之后_MYSQL登陆完之后如何操作???(新手求助)
  7. GLSurfaceView源码分析以及简单使用
  8. Linux学习总结(23)——SSH协议详解
  9. java 双重检查锁定_Java双重检查锁定
  10. 2021年中国船用鼓风机市场趋势报告、技术动态创新及2027年市场预测
  11. oracle有条件插入数据,Oracle有条件地插入数据
  12. Android 资讯类App项目实战 第一章 滑动顶部导航栏
  13. 初入职场,你够聪明不?
  14. JAVA电商商城系统
  15. 使用数位板或数位屏的压感笔时常见的问题及解决方法
  16. 诡异事件:天翼云主机CentOS8.2配置RedisServer5.0.3无法启动
  17. 复杂美吴思进出席浙江公共政策研究院“数字赋能与浙江智造”沙龙
  18. Java实时报表统计查询慢_如何解决报表关联计算中的性能问题
  19. ValueError: decision_function_shape must be either ‘ovr‘ or ‘ovo‘, got None.
  20. c语言什么是测试环境,vscode搭建与测试c语言运行环境

热门文章

  1. Git 分支管理常见三种方式
  2. css中为伪元素增加点击事件和hover
  3. 我抄我自己的论文,能算学术不端吗?有学者做了一份论文复用指南
  4. 关于iframe嵌入的页面无法正常使用的可能原因其一------跨域问题
  5. C# ASP.NET 生成二维码、加入图片
  6. mapreduce 本地开发环境
  7. proto2 proto3 变化
  8. gRPC应用demo--复杂proto文件编写
  9. ARM学习之图解ARM
  10. 买新笔记本电脑,RJ45接口还香吗