网络基础与FTP准备
一网络基础
1.端口:
端口是为了将同一台电脑上的不同程序进行隔离
(IP是在找电脑,端口是在找电脑上的程序)
实例:
MySQL是一个软件,帮助我们在硬盘上进行操作,默认端口是3306
Redis是一个软件,帮助我们在内存里进行数据操作,默认端口:6379
网站默认端口:80,访问时:http://www.baidu.com:80 (前面是http)
:443,访问时:https://www.baidu.com:443 (前面是https)
范围:
一共:1-65535
内置:1-1024
一般情况:8000,8001... 2.OSI:七层模型
七层:
应用层 使用的软件
表示层 看到的数据(如图片和视频)
会话层 保持登录或链接状态 应用偷偷携带一点其他数据:令牌 19rRNAwf8GVe6xyT9kJPIu5SlQc
传输层 TCP/UDP [TCP][基础数据|令牌]
网络层 IP [IP][TCP][基础数据|令牌]
数据链路层 MAC [MAC][IP][TCP][基础数据|令牌]
物理层 将数据转换成电信号发送(01010101010101)
五层:
应用层
应用层 表示层
会话层
传输层
网络层
数据链路层
物理层
四层:
应用层
应用层 表示层
会话层
传输层
网络层
物理层 数据链路层
物理层 3.三次握手四次挥手
客户端向服务端发起连接请求:三次握手
client.connent()
客户端 服务端
我能连接你吗
好的
我来了
client.connect()
客户端和服务端断开连接:四次挥手
client.close() 或 conn.close()
客户端 服务端
我要跟你断开连接
断开吧,等我处理一下
...
处理完了,断开吧
拜拜
4.断开连接时会抛异常(Windows)或发送一个空的字符串(Linux或max) 二.FTP准备
1.\r
print('\r80%',end=' ') #\r的意思是跳到当前行的最前面,并且会覆盖后面的内容
print('\r90%',end=' ') 2.%%
tpl='进度条目前是%s%%' % 90
print(tpl) 3.进度条
import time
def func(size,total_size):
val=int(size/total_size*100)
print('\r%s%%|' % val+'#'*int(size/3),end=' ')
time.sleep(0.1)
for i in range(1,101):
func(i,100) 4.计算文件字节大小
import os
size=os.stat(r'C:\Users\Administrator\PycharmProjects\untitled3\test1.py').st_size
print(size)
size1=os.path.getsize(r'C:\Users\Administrator\PycharmProjects\untitled3\test1.py')
print(size1) 5.打印表情
print('\ue409') 6.send还是sendall
推荐sendall,发的全 7.自定义协议:
自己觉得定义一个对象可以简化代码,就可以自定义一个协议 8.状态码
在某个地方定义好
{'1001':'上传文件','1002':'下载文件'}
也可以是其他类型 9.把字符串转换成字节
如果不存在中文的话,可以在前面加一个b来快速转换
网络基础与FTP准备的更多相关文章
- 网络基础、ftp任务(进度条、计算文件大小、断点续传、搭建框架示例)
一.网络基础 1.端口,是什么?为什么要有端口? 端口是为了将同一个电脑上的不同程序进行隔离. IP是找电脑:端口是找电脑上的应用程序: 端口范围:1 – 65535 : 1 - 1024 不要 ...
- 网络基础四 DNS DHCP 路由 FTP
第1章 网络基础 1.1 IP地址分类 IP地址的类别-按IP地址数值范围划分 IP地址的类别-按IP地址用途分类 IP地址的类别-按网络通信方式划分 1.2 局域网上网原理过程 DHCP原理过程详情 ...
- 网络基础、多线程、ftp任务铺垫
一.网络基础 学习网络编程,了解一些网络基础的知识是必不可少的,下面学习一些基础的网络知识: 1.我们的电脑里有网卡,网卡里有mac地址: 2.我到某个地方插上网线,路由器或交换机中的DHCP服务为我 ...
- 前端学HTTP之网络基础
× 目录 [1]网络 [2]OSI [3]TCP/IP 前面的话 HTTP协议对于前端工程师是非常重要的.我们在浏览网站时,访问的每一个WEB页面都需要使用HTTP协议实现.如果不了解HTTP协议,就 ...
- 网络基础知识、ASP.NET 核心知识(1)*
为什么要写网络? 我原本的计划是这样的,连续两天梳理ASP.NET开发的核心知识.说到这呢,有人问了.“不是说好了做ASP.NET笔记吗?为啥要写网络基础知识?是不是傻?” 原因是这样的.作为网站开发 ...
- Java 网络编程(一) 网络基础知识
链接地址:http://www.cnblogs.com/mengdd/archive/2013/03/09/2951826.html 网络基础知识 网络编程的目的:直接或间接地通过网络协议与其他计算机 ...
- http(一)web和网络基础
深入学习http不为别的,只为补充底层知识,打好根基,深入了解其他技术,擒贼先擒王,学好九阳神功以后,乾坤大挪移,太极剑就容易了,急于求成,就只能变周芷若.走着...... 来源于:图解HTTP 1. ...
- 了解web及网络基础
了解web及网络基础 以下内容简单的说明了一下TCP/IP协议族中HTTP协议.DNS服务.IP协议的一些概念和关系.笔者只是对知识点进行了总结,仅供参考: ) 转载请注明出处:了解web及网络基础 ...
- 异常处理与网络基础中的tcp,udp协议
# 异常处理: # 什么是异常?异常和错误的区别 # Error 语法错误 比较明显的错误 在编译代码阶段就能检测出来 # Iteration 异常 在执行代码的过程中引发的异常 # 异常发生之后的效 ...
随机推荐
- ASP.Net请求小周期
另一篇另篇2 ASP.NET请求处理全过程 一个ASP.NET请求过程中,从浏览器中发出一个Web请求 到 这个请求被响应并显示在浏览器中的过程中究竟会发生哪些不同的事件,当我们进入这个事件之旅时,我 ...
- 链接hdf5库出现错误的解决办法
作者:朱金灿 来源:http://blog.csdn.net/clever101 在链接hdf5库出现一些链接错误: error LNK2001: 无法解析的外部符号 _H5T_NATIVE_DOUB ...
- vs中添加MySql实体集流程
默认情况下只有下图: 首先需要下载mysql为vs和ef提供的驱动(可以去官网下载对应的版本) 然后打开vs开始添加实体类 首先在NuGet中安装MySql.Data和MySql.Data.Entit ...
- Xbin-Store(分布式商城)项目所用Linux服务系列 FastDFS安装(五)
系列 Xbin-Store(分布式商城)项目所用Linux服务系列 MySQL安装(一) Xbin-Store(分布式商城)项目所用Linux服务系列 Redis集群安装(二) Xbin-Store( ...
- prototype __proto__ Function
我们创建的每个函数都有一个prototype属性,这个属性是一个指针,指向一个对象.(注意:是函数才有prototype属性) 而__proto__属性每一个对象都有. 在js中如果A对象是由B函数构 ...
- Managing remote devices
A method and apparatus for managing remote devices. In one embodiment of the present invention, ther ...
- Blend_Effect
原文:Blend_Effect 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u010265681/article/details/76651796 ...
- 面向对象举例(一) —— 顶点(vertex)、边(edge)与图(graph)
Graph: class Graph(dict): def __init__(self, vs=[], es=[]): for v in vs: self.add_vertex(v) for e in ...
- WPF用Blend写的交通信号灯
原文:WPF用Blend写的交通信号灯 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/yangyisen0713/article/details/1 ...
- FastDFS是纯C语言实现,只支持Linux,适合以中小文件为载体的在线服务,还可以冗余备份和负载均衡
一.理论基础 FastDFS比较适合以中小文件为载体的在线服务,比如跟NGINX(APACHE)配合搭建图片服务器. 分布式文件系统FastDFS FastDFS是纯C语言实现,只支持Linux.Fr ...