网络基础、多线程、ftp任务铺垫
一、网络基础
学习网络编程,了解一些网络基础的知识是必不可少的,下面学习一些基础的网络知识:
1、我们的电脑里有网卡,网卡里有mac地址;
2、我到某个地方插上网线,路由器或交换机中的DHCP服务为我自动分配IP地址。
IP: 192.168.13.84
IPv4
00000000.00000000.00000000.00000000
0~255 0~255 0~255 0~255
IPv6
00000000.00000000.00000000.00000000.00000000.00000000
子网掩码:255.255.255.0
网关IP:192.168.13.1
局域网内、城域网、广域网:
广播
单播
广播风暴
arp协议
3、DNS
网络连接:
- 域名解析
www.baidu.com 220.181.57.216
- 连接
sk = socket.socket()
sk.connect(('47.95.64.113',80))
...
问题来了,域名和IP的对应关系在哪里?
本地:
Win本地电脑:
C:\Windows\System32\drivers\etc\hosts
11.22.33.44 www.baidu.com
Linux/Mac电脑:
/etc/hosts
DNS服务器:全球顶级DNS服务器13台
www.luffycity.com 47.95.64.113
创业: a. 租一个服务器+公网IP
b. 租域名
域名+IP解析
总结:
1. DHCP,自动位局域网内容电脑分配IP。
2. 网关,路由器中连接交换机的口。
3. IP,4个点分的十进制表示 192.11.111.11
4. 子网掩码,
IP: 192.168.13.99
掩码:255.255.255.0
将挡住的IP位数作为网段。
未挡住的部分作为可变的值。
5. 局域网/城域网/广域网
6. arp协议
7. DNS
二、多线程
线程,英文是Thread,每个正在系统上运行的程度都是一个进程。每个进程包含一到多个线程。线程是程序中一个单一的顺序控制流程,在单个程序中同时运行多个线程完成不同的工作,称为多线程。下面就是一个多线程的示例:
import timeimport threadingdef task(a1,a2,a3):time.sleep(2)print('去拿快递')def work():print('去写作业')def wm():print('去拿外卖')# 创建一个线程 让该线程去执行任务:函数t1 = threading.Thread(target=task,args=(1,2,3,))t1.start() # 去执行吧# 创建一个线程 让该线程去执行任务:函数t2 = threading.Thread(target=work)t2.start() # 去执行吧# 创建一个线程 让该线程去执行任务:函数t3 = threading.Thread(target=wm)t3.start() # 去执行吧print('玩扇子')print('煽风点火')print('耍贱...')# 分析:该程序创建了三个线程,分别去执行不同的任务(函数),主线程可以继续向下走。
再看下面socket和线程配合的示例:
import timeimport socketimport threadingdef task(conn):time.sleep(2)data = conn.recv(1024)print(data)conn.close()server = socket.socket()server.bind(('127.0.0.1',8001,))server.listen(5)while True:conn,addr = server.accept()t = threading.Thread(target=task,args=(conn,))t.start()
转载于:https://www.cnblogs.com/xihuanniya/p/9837272.html
网络基础、多线程、ftp任务铺垫相关推荐
- python 复习——网络编程(三)——网络基础、多线程、ftp任务铺垫
一.网络基础 学习网络编程,了解一些网络基础的知识是必不可少的,下面学习一些基础的网络知识: 1.我们的电脑里有网卡,网卡里有mac地址: 2.我到某个地方插上网线,路由器或交换机中的DHCP服务为我 ...
- 十种机制保护三大网络基础协议(BGP、NTP和FTP)—Vecloud微云
除了DNS,还有其他网络基础协议也会变成攻击者的武器,该如何保护呢? 涉及基础互联网协议的攻击见诸报端时,人们的视线往往集中在Web上,HTTP或DNS是绝对的主角.但历史告诉我们,其他协议也会被当做 ...
- 网络基础四 DNS DHCP 路由 FTP
第1章 网络基础 1.1 IP地址分类 IP地址的类别-按IP地址数值范围划分 IP地址的类别-按IP地址用途分类 IP地址的类别-按网络通信方式划分 1.2 局域网上网原理过程 DHCP原理过程详情 ...
- Python3 与 C# 网络编程之~ 网络基础篇
最新版本查看:https://www.cnblogs.com/dotnetcrazy/p/9919202.html 入门篇 官方文档:https://docs.python.org/3/library ...
- linux篇【12】:网络套接字<前序>—网络基础+udp套接字
目录 一.网络基础 1.认识 "协议" 举例: 2.协议分层 (1)软件分层 (2)协议分层 3.OSI七层模型 4.TCP/IP五层(或四层)模型 5.网络和操作系统之间的关系 ...
- 从网线到IO模型(网络基础整合)
文章目录 网络基础 1.什么是协议,常见协议 2.网络应用设计模式 BS/CS优缺点 什么是C/S模式 什么是B/S模式 优缺点 3.分层模型(物数网传会表应) 4.以太网帧协议(为什么需要+报文分析 ...
- 敖丙思维导图-网络基础
敖丙思维导图系列目录 这些知识整理都是自己查阅帅丙资料(当然还有其他渠道)加以总结滴~ 每周都会更新知识进去. 如有不全或错误还请大家在评论中指出~ 敖丙思维导图-集合 敖丙思维导图-多线程之sync ...
- 【Linux】网络基础+UDP网络套接字编程
只做自己喜欢做的事情,不被社会和时代裹挟着前进,是一件很奢侈的事. 文章目录 一. 网络基础 1.局域网和广域网 2.协议初识和网络协议分层(TCP/IP四层模型) 3.MAC地址和IP地址(子网掩码 ...
- 36张图详解网络基础知识
前言 网络协议 我们用手机连接上网的时候,会用到许多网络协议.从手机连接 WiFi 开始,使用的是 802.11 (即 WLAN )协议,通过 WLAN 接入网络:手机自动获取网络配置,使用的是 DH ...
最新文章
- hdu3001(三进制状压)
- 免费设计图标的网站;免费设计的网站;免费设计的网站;
- java 内部编码_Java 中文编码分析
- 查看队列深度_不为人知的网络编程(十一):从底层入手,深度分析TCP连接耗时的秘密...
- python环境的打包与加载
- js进阶 14-9 ajax事件有哪些
- 基于php+MySQL电脑外设商城网站 毕业设计-附源码271538
- Cognos报表的开发
- 如何生成你自己的icon 图标库
- 微信小程序的服务器有什么要求
- 基于java web的实验室设备管理系统的设计与实现
- 防止win10自动更新——指定一个错误的升级服务器地址
- PS实用小技巧--修改图片上的文字
- 防红域名生成的3种方法介绍
- PRISM 下载安装
- 3、python学习笔记第三课:程序格式和构成
- iOS 13 LaunchScreen.storyboard 启动图屏幕适配
- 软件测试最新项目合集【商城、外卖、银行、金融等等.......】
- 【备考之路】(一)软考【系统集成项目管理工程师】备考经验
- Struts2之Servlet文件上传详解