![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python之网络编程
网络编程基础
鹿予沫
这个作者很懒,什么都没留下…
展开
-
Python实现多线程
Python实现多线程一、什么是线程二、Python的GIL三、Python的线程与threading模块3.1 两种调用方式3.1.1 直接调用3.1.2 继承式调用3.2 threading.Thread 的实例方法3.2.1 join()$Daemon()3.2.2 其他方法四、同步锁五、递归锁六、同步条件event七、信号量八、线程队列九、生产者消费者模型 --通过线程队列实现一、什么是线程线程 可以理解为在进程中独立运行的子程序,是操作系统能够运行调度的最小单位。举个不是特别恰当的例子,原创 2020-07-23 00:08:43 · 357 阅读 · 1 评论 -
socketsever实现并发代码
socketsever模块1.基于TCP2.基于UDP1.基于TCP服务端#TCP 服务端import socketserverclass MyServer(socketserver.BaseRequestHandler): def handle(self): #通信循环 print("conn is: ",self.request) #conn print("addr is:原创 2020-07-11 23:17:25 · 150 阅读 · 0 评论 -
粘包
粘包一、什么是粘包二、为什么会粘包三、粘包解决思路一、什么是粘包粘包是指发送方发送的若干数据到接收方,而接收方在接收数据时这些数据粘在一起,后一包数据头紧接着前一包数据尾部。二、为什么会粘包首先了解一下socket收发消息原理:底层原理参考另一篇:socket收发消息底层原理在发数据时,一条数据的大小对应用程序是不可见的,即接收端从自己缓存区接收数据时,根本不知道自己要从缓存区接受多少数据。那为什么只用TCP有粘包现象,而UDP没有?TCP 是面向连接的,面向流的,提供高可靠性服务。原创 2020-07-10 00:00:41 · 1557 阅读 · 0 评论 -
socket收发消息底层原理
socket收发消息原理服务端和客户端想要通信,底层需要internet物理连接,网卡配备有IP地址和MAC地址,网卡收发的消息是字节流。服务端程序和客户端程序工作中应用层,服务端程序要想发包,必须一层一层往下走,走到网卡那一层,将数据转化成二进制才能送到客户端 ,客户端网卡收到包,一层一层往上送,然后客户端程序才能接收到数据。客户端发包服务端接收也是如此。内存分为用户态和内核态。简单来说,内核态内存是操作系统运行时内核代码占用的内存;用户态是用户程序运行时占用的内存。两者不能混在一起,操作系统的一个原创 2020-07-09 23:30:59 · 995 阅读 · 0 评论 -
socket编程
sokcet编程一、什么是socket二、分类三、套接字工作流程四、基于TCP的套接字五、基于UDP的套接字一、什么是socketsocket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。它把复杂的TCP/IP协议隐藏在socket接口的后面,对使用者而言,一组接口就是全部,让socket去组织数据。二、分类常用的三类TCP/IP协议的套接字:流式套接字(SOCK_STREAM):流式套接字用于提供面向链接、可靠的数据传输服务,使用TCP协议。数据报套接字(SOCK_DG原创 2020-07-03 19:07:54 · 276 阅读 · 0 评论