网络编程
文章平均质量分 77
Wu_Candy
这个作者很懒,什么都没留下…
展开
-
多线程下载一个大文件的速度更快的真正原因是什么?
引言 日常工作中,大家应该经常遇到要下载资源的场景,下载资源时,有时网络很给力,一会儿就下载成功了,有时下载很慢,几十分钟后都还在下载中,甚至更过分的是下载好长时间后直接来个下载失败。好不惹人生气。当你在遇到这样的下载场景时,有没有思考过到底是什么原因影响着文件资源的下载速度呢?实时网络带宽 决定用户下载大文件速度快慢的终极因素,在于用户下载进程实时抢占网络带宽的大小。其它的因素与它相比,可以忽略不计。 如果用户进程实时抢占的带宽 = 实时网络可用带宽,则在最理想的状态下,用户下原创 2021-07-21 17:39:44 · 1061 阅读 · 4 评论 -
网络层—简单的面试问题
TCP在面试的时候,如果问大家,TCP 的三次握手,大家一般准备下,都会很容易的回答上这个问题。但是如果这样问:TCP 为什么要三次握手,二次行不行?你还会吗?其次,大家都知道TCP 有个特点:是可靠传输,那问题来了:TCP 是怎么保证可靠传输的?难道就因为三次握手了。问题1: TCP 为什么要三次握手,二次行不行?如果是2次握手,就会出现下面的情况:1.客户端发送syn同步报文给server端时,如果因为网络环境不好,此时网络发生了超时。2.等待一段时间后,发现没有接受到服务端.原创 2021-02-20 17:17:45 · 179 阅读 · 3 评论 -
TCP & UDP 总结
今日分享主题:TCP 与 UDP 两种通讯协议的区别,从整体的视角上来看看他们的差异,这也是我们学习网络编程应该掌握的基础技术点。1、TCP与UDP两种通讯协议的区别,如下图所示:2、OSI 七层模型和TCP/IP模型中TCP/UDP协议所处的层次,如下图所示:理解socket的作用,如下图所示:Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socke...原创 2020-10-31 17:35:20 · 260 阅读 · 1 评论 -
Python TCP 协议网络编程《五》
今日主题:今天分享的内容是在Python TCP 协议网络编程《四》的基础上增加了在服务端的登录用户校验,如果客户端输入的用户名不是服务端列表中的,就无法进入正常的聊天室。具体实现代码如下server.py文件内容如下 1from socket import socket,SOCK_STREAM,AF_INET #导入模块 2from threading import Thread #导入线程包 3 4sockets=[] #用于存放所有请求过来的client的socket..原创 2020-10-31 17:33:04 · 140 阅读 · 0 评论 -
Python TCP 协议网络编程《四》
今日主题:在Python TCP 协议网络编程《三》的基础上进行多线程的处理,可以让消息不断的发送不用等待回复后才可以继续发消息,同时也优化了服务端的代码,它主要是做消息的转发,实现多个客户端之间的消息互通。具体实现代码如下:server.py文件内容如下 1from socket import socket,SOCK_STREAM,AF_INET #导入模块 2from threading import Thread #导入线程包 3 4sockets=[] #用于存放所有请求过.原创 2020-10-31 17:31:05 · 164 阅读 · 0 评论 -
Python TCP 协议网络编程《三》
今日主题:在Python TCP 协议网络编程《二》的基础上增加了当服务器重启后客户端不挂掉,客户端能够重试连接服务端的功能。代码实现如下:server.py文件内容如下 1from socket import socket,SOCK_STREAM,AF_INET #导入模块 2 3def tcp_server(): 4 tcp_server_socket=socket(AF_INET,SOCK_STREAM) #创建TCP服务端套接字对接,UDP是SOCK_DGRAM 5.原创 2020-10-31 17:28:52 · 146 阅读 · 0 评论 -
Python TCP 协议网络编程《二》
今日主题:使用Python 实现Server和Client的互相交流沟通今天分享的内容是在上一篇文章Python TCP 协议网络编程《一》的基础上进行的一次改造,使Server和Client可以互相交流沟通,server.py与client.py文件内容是具体的实现代码。server.py文件内容: 1from socket import socket,SOCK_STREAM,AF_INET #导入模块 2def tcp_server(): 3 tcp_server_sock.原创 2020-10-22 15:27:24 · 111 阅读 · 0 评论 -
Python TCP 协议网络编程《一》
TCP协议介绍 TCP协议,传输控制协议(英语:Transmission Control Protocol,缩写为 TCP) TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。 TCP通信需要经过创建连接、数据传送、终止连接三个步骤。 TCP通信模型中,在通信开始之前,一定要先建立相关的链接,才能发送数据,类似于生活中,"打电话",而UDP类似于生活中的"发短信"。 TCP三次握手 首先Client(客户)端发送连接请求报文(第一次握手)。 .原创 2020-10-22 15:23:58 · 169 阅读 · 0 评论 -
Python UDP 协议网络编程《七》
今日主题:Python 实现的使用命令行进行文件上传的功能。温馨提示:今日内容与前期推文Python UDP 协议网络编程《五》具有一定的关联性,是在该文章的基础上进行的再一次改造。如果Python UDP 协议网络编程《五》没有阅读的小伙伴,建议先阅读后,再来学习今天的内容,会有一个比较直观的对比。(点击蓝色字体的推文名称即可查看上一篇文章全部内容)。今日分享内容与已分享的Python UDP 协议网络编程系列推文一样,理论内容较少,今天更偏实战性,以下实现代码需仔细分析、理解每一行..原创 2020-10-13 19:29:14 · 115 阅读 · 0 评论 -
Python UDP 协议网络编程《六》
今日主题:Python 实现的使用命令行进行文件下载的功能。温馨提示:今日内容与前期推文Python UDP 协议网络编程《四》具有一定的关联性,是在该文章的基础上进行的再一次改造。如果Python UDP 协议网络编程《四》没有阅读的小伙伴,建议先阅读后,再来学习今天的内容,会有一个比较直观的对比。(点击蓝色字体的推文名称即可查看上一篇文章全部内容)。今日分享内容与已分享的Python UDP 协议网络编程系列推文一样,理论内容较少,今天更偏实战性,以下实现代码需仔细分析、理解每一行..原创 2020-10-13 19:27:08 · 162 阅读 · 0 评论 -
Python UDP 协议网络编程《五》
今日主题:使用Python 实现的上传文件的客户端功能。温馨提示:今日内容与前期推文Python UDP 协议网络编程《三》具有关联性,如果Python UDP 协议网络编程《三》没有阅读的小伙伴,建议先阅读后,再来学习今天的内容,有助于更好的理解哟(点击蓝色字体的推文名称即可查看上一篇文章全部内容)。今日分享内容与上篇文章主题:使用Python 实现的下载文件的客户端功能一样,理论内容较少,今天更偏实战性,以下实现代码需仔细分析、理解每一行代码的作用及相互间的关联关系,并自行搭建本地环境将代码运原创 2020-10-13 19:23:05 · 153 阅读 · 0 评论 -
Python UDP 协议网络编程《四》
今日主题:使用Python 实现的下载文件的客户端功能。温馨提示:今日内容与上一篇文章Python UDP 协议网络编程《三》具有关联性,如果Python UDP 协议网络编程《三》没有阅读的小伙伴,建议先阅读后,再来学习今天的内容,有助于更好的理解哟(点击蓝色字体的推文名称即可查看上一篇文章全部内容)。理论内容较少,今天更偏实战性,以下实现代码需仔细分析、理解每一行代码的作用及相互间的关联关系,并自行搭建本地环境将代码运行起来,在解决问题的过程中,通过思考与实践才能更好的理解本文主题。 1原创 2020-10-13 19:20:03 · 131 阅读 · 0 评论 -
Python UDP 协议网络编程《三》
今日分享主题:Python 如何实现TFTP文件服务器。一、定义TFTP 是一个传输文件的简单协议,它基于UDP协议而实现。TFTP (Trivial File Transfer Protocol):简称文件传输协议。TFTP 是TCP/IP协议族中的一个用来在客户端与服务器之间进行简单文件传输的协议,传输不复杂、开销不大的文件。端口号固定为69。二、TFTP支持五种类型的包opcode operation Read request (RRQ) Write requ.原创 2020-10-13 18:19:33 · 188 阅读 · 0 评论 -
Python UDP 协议网络编程《二》
1、主题今天分享的内容是在上一篇文章“Python UDP 协议网络编程《一》”的基础上做了一些优化和改进: 客户端增加了可接收的功能 增加了多线程的处理功能 服务端增加可回复消息的功能 对接收消息进行验证的功能 2、Python 代码实现client.py 代码如下: 1 import threading 2 from socket import socket,AF_INET,SOCK_DGRAM 3 udp_socket = socket(.原创 2020-09-29 11:08:29 · 139 阅读 · 0 评论