一、网络基础

学习网络编程,了解一些网络基础的知识是必不可少的,下面学习一些基础的网络知识:

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任务铺垫相关推荐

  1. python 复习——网络编程(三)——网络基础、多线程、ftp任务铺垫

    一.网络基础 学习网络编程,了解一些网络基础的知识是必不可少的,下面学习一些基础的网络知识: 1.我们的电脑里有网卡,网卡里有mac地址: 2.我到某个地方插上网线,路由器或交换机中的DHCP服务为我 ...

  2. 十种机制保护三大网络基础协议(BGP、NTP和FTP)—Vecloud微云

    除了DNS,还有其他网络基础协议也会变成攻击者的武器,该如何保护呢? 涉及基础互联网协议的攻击见诸报端时,人们的视线往往集中在Web上,HTTP或DNS是绝对的主角.但历史告诉我们,其他协议也会被当做 ...

  3. 网络基础四 DNS DHCP 路由 FTP

    第1章 网络基础 1.1 IP地址分类 IP地址的类别-按IP地址数值范围划分 IP地址的类别-按IP地址用途分类 IP地址的类别-按网络通信方式划分 1.2 局域网上网原理过程 DHCP原理过程详情 ...

  4. Python3 与 C# 网络编程之~ 网络基础篇

    最新版本查看:https://www.cnblogs.com/dotnetcrazy/p/9919202.html 入门篇 官方文档:https://docs.python.org/3/library ...

  5. linux篇【12】:网络套接字<前序>—网络基础+udp套接字

    目录 一.网络基础 1.认识 "协议" 举例: 2.协议分层 (1)软件分层 (2)协议分层 3.OSI七层模型 4.TCP/IP五层(或四层)模型 5.网络和操作系统之间的关系 ...

  6. 从网线到IO模型(网络基础整合)

    文章目录 网络基础 1.什么是协议,常见协议 2.网络应用设计模式 BS/CS优缺点 什么是C/S模式 什么是B/S模式 优缺点 3.分层模型(物数网传会表应) 4.以太网帧协议(为什么需要+报文分析 ...

  7. 敖丙思维导图-网络基础

    敖丙思维导图系列目录 这些知识整理都是自己查阅帅丙资料(当然还有其他渠道)加以总结滴~ 每周都会更新知识进去. 如有不全或错误还请大家在评论中指出~ 敖丙思维导图-集合 敖丙思维导图-多线程之sync ...

  8. 【Linux】网络基础+UDP网络套接字编程

    只做自己喜欢做的事情,不被社会和时代裹挟着前进,是一件很奢侈的事. 文章目录 一. 网络基础 1.局域网和广域网 2.协议初识和网络协议分层(TCP/IP四层模型) 3.MAC地址和IP地址(子网掩码 ...

  9. 36张图详解网络基础知识

    前言 网络协议 我们用手机连接上网的时候,会用到许多网络协议.从手机连接 WiFi 开始,使用的是 802.11 (即 WLAN )协议,通过 WLAN 接入网络:手机自动获取网络配置,使用的是 DH ...

最新文章

  1. hdu3001(三进制状压)
  2. 免费设计图标的网站;免费设计的网站;免费设计的网站;
  3. java 内部编码_Java 中文编码分析
  4. 查看队列深度_不为人知的网络编程(十一):从底层入手,深度分析TCP连接耗时的秘密...
  5. python环境的打包与加载
  6. js进阶 14-9 ajax事件有哪些
  7. 基于php+MySQL电脑外设商城网站 毕业设计-附源码271538
  8. Cognos报表的开发
  9. 如何生成你自己的icon 图标库
  10. 微信小程序的服务器有什么要求
  11. 基于java web的实验室设备管理系统的设计与实现
  12. 防止win10自动更新——指定一个错误的升级服务器地址
  13. PS实用小技巧--修改图片上的文字
  14. 防红域名生成的3种方法介绍
  15. PRISM 下载安装
  16. 3、python学习笔记第三课:程序格式和构成
  17. iOS 13 LaunchScreen.storyboard 启动图屏幕适配
  18. 软件测试最新项目合集【商城、外卖、银行、金融等等.......】
  19. 【备考之路】(一)软考【系统集成项目管理工程师】备考经验
  20. Struts2之Servlet文件上传详解

热门文章

  1. 谷歌开源 Pigweed,用于提升嵌入式开发效率
  2. probie 菜鸟翻译工具开源了
  3. SQL Server:查找表的生成或顺序
  4. 这样做动画交互,一点都不费力
  5. 递增三元组蓝桥杯c语言,蓝桥-递增三元组-蓝桥
  6. python解析器原理_Python程序运行原理图文解析
  7. 交流磁路matlab,严格地说,交流磁路计算应该用磁滞回线。
  8. Echarts简单介绍
  9. python鞋子_python
  10. java httpost阻塞_httpclient发送get请求阻塞?