
网络与并发
网络与并发
潦草的人生
近距离学习
展开
-
网络与并发之多线程与多进程
Python-网络与并发第五章 多线程与多进程 现代操作系统比如 Mac OS X,Linux,Windows 等,都是支持“多任务”的操作系统什 么叫“多任务”呢?简单地说,就是操作系统可以同时运行多个任务。打个比方,你一边在用 逛淘宝,一边在听音乐,一边在用微信聊天,这就是多任务,至少同时有 3 个任务正在运行。 还有很多任务悄悄地在后台同时运行着,只是桌面上没有显示而已。现在,多核 CPU 已经非常普及了,但是,即使过去的单核 CPU,也可以执行多任务。由 于 CPU 执行代码都是顺序执行原创 2020-08-04 10:31:18 · 872 阅读 · 0 评论 -
网络与并发(四)
Python-网络与并发第四章 黏包在socket网络程序中,TCP和UDP分别是面向连接和非面向连接的。因此TCP的socket编程,收发两端(客户端和服务器端)都要有成对的socket,因此,发送端为了将多个发往接收端的包,更有效的发到对方,使用了优化方法(Nagle算法),将多次间隔较小、数据量小的数据,合并成一个大的数据块,然后进行封包。这样,接收端,就难于分辨出来了,必须提供科学的拆包机制。而对于UDP,不会使用块的合并优化算法,这样,实际上目前认为,是由于UDP支持的是一对多的模式,所以接原创 2020-08-04 10:21:27 · 250 阅读 · 0 评论 -
网络与并发(三)
Python-网络与并发第三章 SocketServer我们在上一章讲到简单的Socket的编程实现操作,那我们现在来完成基于服务器与客户端的协议之间交互信息1. UPD UDP — 用户数据报协议,是一个无连接的简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。 UDP是一种面向无连接的协议,每个数据报都是一个独立的信原创 2020-07-31 18:59:23 · 227 阅读 · 0 评论 -
网络与并发(二)
Python-网络与并发第二章 Socket本地的进程间通信(IPC)有很多种方式,例如队列同步(互斥锁、条件变量等)以上通信方式都是在一台机器上不同进程之间的通信方式,那么问题来了网络中进程之间如何通信?网络中进程之间如何通信首要解决的问题是如何唯一标识一个进程,否则通信无从谈起!在本地可以通过进程PID来唯一标识一个进程,但是在网络中这是行不通的。其实TCP/IP协议族已经帮我们解决了这个问题,网络层的“ip地址”可以唯一标识网络中的主机,而传输层的“协议+端口”可以唯一标识主机原创 2020-07-31 18:52:33 · 131 阅读 · 0 评论 -
网络与并发(一)
Python-网络与并发第一章 网络概述 现在的生活离不开网络,例如手机,电脑,平板,都是网络的代名词,通过一些APP,浏览器,获取大量的信息如文字、声音、视频,这都是从网络的某个地址存在的或者是网络的另一端某个用户通过设备共享的,那么什么是网络?是通过又是如何共享的尼?网络是由若干节点和连接这些节点的链路构成,表示诸多对象及其相互联系,像我们平常办理宽带与手机办卡上网,都是通过向某一服务商缴费注册连上他们的设备,下载相应的聊天软件和浏览器就可以上网与他人交流、获取资源、浏览一些网络信息。 当然还原创 2020-07-31 18:46:09 · 821 阅读 · 0 评论