![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
计算机网络
文章平均质量分 70
计算机网络
Robin_Pi
所有觉得难得东西,只是因为没有真正理解最基础的概念
展开
-
2021 Mac OS 安装 node
前提:已经安装了brew,没有的话可以看之前的文章安装node十分简单,步骤如下:下载:brew install node这个过程中,brew cleanup还自动帮我清理了缓存。检查下载情况:node -v以及npm -v下载淘宝镜像安装:npm install -g cnpm --registry=https://registry.npm.taobao.org(如果权限不够,记得在代码最前面加上 sudo)结束安装!...原创 2021-03-08 17:04:03 · 521 阅读 · 0 评论 -
Python 进程与线程(Process vs. Thread)
文章目录1. 简单理解CPU:一座(电力有限的)工厂进程:工厂的车间——”容器“线程:(同一个)车间里的工人——容器中的“工作单位”进程的空间:车间的空间2. 本质核心进程进程分类进程的状态线程3. Python用法4. 更多:操作系统1. 简单理解CPU:一座(电力有限的)工厂电力一次只能供给一个车间运行:单个CPU一次只能运行一个任务注:多核的CPU就像有了多个发电厂,使多工厂(多进程)实现可能。进程:工厂的车间——”容器“进程代表CPU所能处理的单个任务任一时刻,CPU总是运行一原创 2021-01-12 11:08:20 · 263 阅读 · 0 评论 -
Python 网络编程记录:TCP socket wav 音频传输
文章目录服务端常见问题分包和粘包问题阻塞问题丢包问题wav音频的传输和保存其他记录在实际学习过程中遇到的一些问题,从需求和问题出发。服务端常见问题分包和粘包问题参考核心:客户端要告知服务端什么时候传输完毕,避免让服务端持续地等待接收而跳不出包含了recv()函数的while循环。一条可行的解决办法:将数据长度写进包头阻塞问题点击核心:每次传输完毕之后,客户端需要断开socket!丢包问题wav音频的传输和保存点击核心:使用 wave.writeframes()写入音原创 2021-01-07 16:27:19 · 2504 阅读 · 0 评论 -
Python TCP socket编程 recv 阻塞
程序在包含着 recv()函数的循环内出不去:解决办法:参考:Redis网络编程 python socket recv阻塞?原创 2021-01-06 15:55:25 · 1734 阅读 · 0 评论 -
Python 处理字节串:struct.pack和struct.unpack
Python struct模块1. structstruct.packstruct.unpack2. 格式2.1 字节顺序,大小和对齐方式2.2 格式字符1. structstruct是用来解决bytes和其他二进制数据类型的转换的模块,它使得流的操作变得非常简单,完美解决了Python没有字节数据类型的尴尬。主要功能:Python数据类型 ——> “字节串”“字节串” ——> Python数据类型struct.packstruct的pack函数把任意数据类型变成bytes原创 2021-01-05 15:10:10 · 9673 阅读 · 0 评论 -
Python 处理字节序列小结:一文了解ASCIII码、理解进制、进制转换(小白也能懂)
Python 处理字节序列1. ASCII1.1 认识ASCII表1.2 查看ASCII码符号:char()1. 进制转换1.1 转为十进制:int()1.2 转为二进制:bin()1.3 转为十六进制:hex()1.4 转为八进制:oct()小结这段时间接触了之前没有遇到过的字节序列问题,发现这块坑特别多,在此做出小结以便复习。1. ASCII1.1 认识ASCII表更详细内容可以点击:认识ASCII表1.2 查看ASCII码符号:char()用法格式:char(任意进制的数字),其参数的十原创 2021-01-04 14:48:09 · 909 阅读 · 2 评论 -
认识ASCII表
ASCII表ASCII编码汉字编码ASCII编码ASCII ((American Standard Code for Information Interchange): 美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准,并等同于国际标准ISO/IEC 646。ASCII第一次以规范标准的类型发表是在1967年,最后一次更新则是在1986年,到目前为止共定义了128个字符。ASCII码使用指定的7 位或8 位二进制数组合来表示128原创 2021-01-04 11:25:21 · 653 阅读 · 0 评论 -
Python 网络编程 · 拾遗
Python 网络编程 · 拾遗端口占用TCP编程代码细节listen()端口占用TCP编程传输可靠性传输大小代码细节listen()python socket.listen(5)这个参数backlog=5,究竟是什么意思?很多地方都这样解释:“socket.listen(5) # 等待客户端连接并设置最大连接数”,但是最大连接数为5,认真的吗?查了之后,网上有这样的解释,我觉得比较合理:这个参数指定是等待队列的长度。也就是如果系统可以并发处理100个请求,同时到达106原创 2020-12-22 15:09:01 · 272 阅读 · 1 评论 -
Python 网络编程(进阶):TCP协议、TCP编程
Python 网络编程(进阶)TCP协议1. 预备知识分包粘包2. TCP协议2.1 TCP协议的作用分包:TCP传输的“特性”2.2 TCP 数据包的大小2.3 TCP数据包的编号(SEQ)2.4 TCP数据包的组装2.5 慢启动和 ACK2.6 数据包的遗失处理1. 预备知识分包(1)what is 分包TCP是 以段(Segment)为单位 发送数据的,建立TCP链接后,有一个 最大报文长度(Maximum Segment Size,MSS) ,就是 TCP数据包每次能够传输的最大数据分段。原创 2020-12-21 15:54:16 · 586 阅读 · 0 评论 -
Python 网络编程:再谈socket、socketserver(SocketServer 源码解读)
文章目录1. 预备知识1.1 socket 的含义和作用1.2 区分socket编程和socketserver编程1.3 socketserver 的框架(模块继承)1.4 socketserver 两种角度的server定义2. 源码2.1 BaseServer2.2 TCPServerBaseRequestHandlerStreamRequestHandler应用基于socket基于socketserverServerclient从python之HTTP模块 这篇文章受到启发,直接去看顶层的 soc原创 2020-12-16 10:58:27 · 633 阅读 · 1 评论 -
值得反复思考的博客(网络编程篇)
python之HTTP模块这篇文章让我意识到自己已经逐渐忘记初衷,沉迷在了各式垃圾中,忘记了如何学习,一句话:要多读源码,多读文档,多读相关的分析!原创 2020-12-16 09:41:21 · 98 阅读 · 1 评论 -
网络编程之端口:端口号为什么常见是8000、8080、8888...
端口1. 理论概念分类重定向2. 由来1. 理论端口号的范围是从1~65535概念在网络技术中,端口(Port)大致有两种意思:一是物理意义上的端口,比如,ADSL Modem、集线器、交换机、路由器用于连接其他网络设备的接口,如RJ-45端口、SC端口等等。二是逻辑意义上的端口,一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。我们这里将要介绍的就是逻辑意义上的端口。分类公认端口(WellKnownPorts)原创 2020-12-03 09:57:43 · 27163 阅读 · 0 评论 -
Python 网络编程(6)总结【转】
Python网络编程总结原创 2020-12-02 15:27:20 · 230 阅读 · 0 评论 -
Python 网络编程(4)网络编程基础:C/S架构(五层模型)
网络编程基础:C/S架构1. C/S架构2. 互联网协议2.1 物理层2.2 数据链路层2.3 网络层2.4 传输层TCP协议UDP协议socket1. C/S架构C指的是client(客户端软件),S指的是Server(服务端软件),C/S架构就是基于网络实现客户端与服务端通信的软件架构,能够实现服务端软件与客户端软件基于网络通信。2. 互联网协议网络 = 物理链接介质 + 互联网协议 (之前真的理解了“网络”?)计算机之间的通信标准,这个标准称之为互联网协议,按照功能不同,人们将互联网协议原创 2020-12-02 15:19:59 · 1514 阅读 · 1 评论 -
Python 网络编程(5):基于socket的网络编程
Socket套接字:socket --- 底层网络接口1. socket 实例类family(socket家族)socket type类型服务端套接字函数客户端套接字函数公共用途的套接字函数2. 粘包3. 应用3.1 基于socket开发一个聊天程序,实现两端互相发送和接收消息3.2 基于tcp socket,开发简单的远程命令执行程序,允许用户执行命令,并返回结果3.3 基于tcp协议编写简单FTP程序,实现上传、下载文件功能,并解决粘包问题这个Python接口是用Python的面向对象风格对Unix系原创 2020-12-02 14:59:27 · 692 阅读 · 0 评论 -
Python 网络编程(3):SimpleHTTPServer
SimpleHTTPServerSimpleHTTPServer是Python2自带的一个模块,是Python的Web服务器。它在Python3已经合并到http.server模块中。SimpleHTTPServer在Python 3的用法与在Python 2的用法相似(python3 -m http.server 6789)SimpleHTTPServer有一个特性:如果待共享的目录下有index.html,那么index.html文件会被视为默认主页;如果不存在index.html文件,那么就会原创 2020-12-01 18:18:57 · 4472 阅读 · 0 评论 -
Python 网络编程(2):socketserver
socket与socketserver0. 概述0.1 socket0.2 python中的socket1. socket2. socketserver2.1 server类2.2 RequestHandler类2.3 用socketserver创建一个服务的步骤0. 概述0.1 socketSocket的英文原义是“孔”或“插座”,在Unix的进程通信机制中又称为‘套接字’。套接字(socket)实际上并不复杂,它是由一个ip地址以及一个端口号组成,或者说套接字(socket)由一个指定的ip地址原创 2020-12-01 17:25:34 · 444 阅读 · 0 评论 -
Python 网络编程(1):TCP 编程(socket)简介
Python 网络编程1. 理论进程/线程网络编程互联网协议:`TCP /IP协议``ip 地址``TCP 协议`2. `TCP 编程`2.1 概述:客户端和服务器2.2 客户端编程2.3 服务器编程1. 理论进程/线程对于操作系统来说,一个任务就是一个进程(Process),比如打开一个浏览器就是启动一个浏览器进程,打开一个记事本就启动了一个记事本进程,打开两个记事本就启动了两个记事本进程,打开一个Word就启动了一个Word进程。有些进程还不止同时干一件事,比如Word,它可以同时进行打字、拼写原创 2020-12-01 14:50:42 · 487 阅读 · 0 评论 -
小白入门PyQt5(1)——了解和环境搭建
0. 写在前面:本文 以Mac为例,其他操作系统可能有所不同本文面向的对象是完全的小白1. 基本概念QT = 跨平台的C++应用程序开发框架,主要用于GUI(Graphical User Interface)开发PyQt5 = python库文件 = Python + QT + 版本号5Qt Designer = PyQt程序UI界面的实现工具pyqt5-tools = 用于...原创 2019-11-22 15:59:12 · 250 阅读 · 0 评论 -
小白学习:终端——掌握框架
有三种基本的命令(Nearly all commands follow a common pattern with 3 main parts. )The program——你想做什么,比如lsthe options——想如何做,比如-land the arguments——想对谁做,比如~知道你在哪(Where Are You?)pwd —— 打印当前位置cd —— 转换目录cd...原创 2019-04-23 14:24:23 · 219 阅读 · 0 评论 -
小白学习:终端(命令提示符)——接纳
目的:接纳电脑上最有用的工具——终端(Terminal—Linux, macOS)/命令提示符”(Windows)命令行是一个使用你电脑基本功能的超级强大的工具。对于大多数人来说,它也是一个让人困惑的,难以理解的,看上去无关紧要的东西。但是其实不是这样的。输入pwd,它的意思是打印当前工作目录(pwd—print working directory)高级提示:你可以使用波浪符(~)作为自...原创 2019-04-23 13:20:16 · 773 阅读 · 0 评论