
python网络编程
JackLiu16
stay hungry,stay young!
展开
-
Linux网络编程“惊群”问题总结
1、前言 我从事Linux系统下网络开发将近4年了,经常还是遇到一些问题,只是知其然而不知其所以然,有时候和其他人交流,搞得非常尴尬。如今计算机都是多核了,网络编程框架也逐步丰富多了,我所知道的有多进程、多线程、异步事件驱动常用的三种模型。最经典的模型就是Nginx中所用的Master-Worker多进程异步驱动模型。今天和大家一起讨论一下网络开发中遇到的“惊群”现象。之前只是听说过这个现象...转载 2019-02-22 01:33:45 · 365 阅读 · 0 评论 -
非阻IO与EWOULDBLOCK EAGAIN
默认 socket 是阻塞的,读写函数 read, readv,recv, recvfrom, recvmsg 以及write, writev,send, sendto,sendmsg 都有可能会阻塞。可以将 socket 描述字设为非阻塞,这样,当 socket 描述字未就绪时,调用以上读写函数将会返回 EWOULDBLOCK 或 EAGAIN 。UNPv1 给出了一个 非阻塞so...转载 2019-02-21 01:33:27 · 577 阅读 · 0 评论 -
python网络编程——socket基础篇
出处:https://www.cnblogs.com/maociping/p/5112019.html python的网络编程比c语言简单许多, 封装许多底层的实现细节, 方便程序员使用的同时, 也使程序员比较难了解一些底层的东西。1 TCP/IP 要想理解socket,首先得熟悉一下TCP/IP协议族,TCP/IP(Transmission Control Protocol/In...转载 2019-02-21 01:35:42 · 647 阅读 · 0 评论 -
python网络编程——网络IO模型
出处:https://www.cnblogs.com/maociping/p/5121788.html1 网络IO模型介绍 服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种: (1)同步阻塞IO(Blocking IO):即传统的IO模型。 (2)同步非阻塞IO(Non-blocking IO):默认创建的socket都是阻塞的,非阻塞IO要求socke...转载 2019-02-21 01:37:07 · 921 阅读 · 0 评论 -
python网络编程——IO多路复用之select
出处:https://www.cnblogs.com/maociping/p/5121788.html1 IO多路复用的概念 原生socket客户端在与服务端建立连接时,即服务端调用accept方法时是阻塞的,同时服务端和客户端在收发数据(调用recv、send、sendall)时也是阻塞的。原生socket服务端在同一时刻只能处理一个客户端请求,即服务端不能同时与多个客户端...转载 2019-02-21 01:38:07 · 526 阅读 · 0 评论