40天python入门教程_【第41天】python全栈从入门到放弃

1.网络开发2个架构

C / S架构: client客户端和server服务器端

优势: 能充分发挥PC机的性能

B / S架构: browser浏览器和server服务器隶属于C/S架构

B / S架构统一了应用的接口.

2.计算机之间的通信

同一台电脑上两个py程序通信 : 打开一个文件

两个电脑如何通信:连一个网线

通信的事:

多个电脑通信 : (电脑1(源)要找电脑2(目标))

电脑1首先发送一个请求帧,其中包含(我的ip是192.168.1.1,我的mac地址是xxxxxxxx,我要找ip地址为192.168.1.2的主机),将此请求发送给交换机.

交换机要广播这条消息给其他所有的主机

目标主机接收到消息后,对比发现自己就是被找的主机,回复给交换机信息(我的ip地址是192.168.1.2,我的mac地址是yyyyyyyyy,请回复给ip地址为192.168.1.1,mac地址为xxxxxxx的主机),交换机单播形式返回给源主机

3 一些知识

1 mac地址(网卡硬件厂商给的) :是一个物理地址,全球唯一, 类似于身份证

2 ip地址: 是一个四位点分十进制,它标识了计算机在网络中的位置.类似于学号

知道mac地址不一定知道这台电脑在哪里,在哪个位置,ip地址可以知道计算机在哪里

3 交换机的通信方式:

广播: 吼一嗓子

单播: 一对一

组播: 一对多

4 arp协议 : 通过目标ip地址获取目标mac地址的一个协议.

5 端口 : 操作系统为本机上每一个运行的程序都随机分配一个端口,其他电脑上的程序可以通过端口获取到这个程序, ip地址+ 端口能唯一找到某台电脑上的某一个服务程序

(0-65535 0-1023尽量不要用)

6路由器 : 连接不同网段 ,路由

7 网关: 类似于一个局域网的出口和入口

8 网段 : 一个局域网内的ip地址范围

9 子网掩码 : 子网掩码 &ip地址得到网段

10 osi 五层模型:

应用层 : http,https,ftp

传输层 : tcp / udp 四层交换机四层路由器

网络层 : ip协议路由器三层交换机

数据链路层 : arp协议以太网交换机网卡网桥

物理层 : 传输电信号集线器网线光纤

4 . socket

sk = socket.socket(family = AF_INET, type=SOCK_STREAM)

family :(有两种参数)

一种: AF_UNIX基于文件类型的套接字(早期socket是源自于unix系统而研发的一个功能,主要是为了同一台电脑上,多个程序直接通信) unix系统的中心思想是 :一切皆文件

一种 : AF_INET基于网络类型的套接字

type:

一种是基于TCP协议 SOCK_STREAM, 可靠的,面向连接的,面向字节流形式的传输方式

一种是基于UDP协议 SOCK_DGRAM, 不可靠的,不面向连接的,面向数据报的传输方式,但是它快

5使用tcp协议客户端和服务端的一次连接

tcp连接

客户端代码如下:

代码块

# 第二次 通信

import socket

sk = socket.socket()

sk.connect(('192.168.1.29',18080))# 连接

sk.send('中文'.encode('utf-8')) #发送信息

sk.close() #关闭

服务端代码如下:

代码块

import socket

sk = socket.socket()# 我买一个新手机

sk.bind(('192.168.1.29',18080))# 我买一个手机卡

sk.listen()# 开机

conn,addr = sk.accept()# 等待朋友给我打电话

print(conn,addr)

msg= conn.recv(6)# 接受数据,接受10个字节

print(msg.decode('utf-8'),addr)

conn.close()# 挂断电话

sk.close() # 关机

6 交换机和路由器区别

交换机的主要功能是组织局域网,经过交换机内部处理解析信息之后,将信息以点对点,点多对的形式,发送给固定端

路由器的主要功能: 进行跨网段进行数据传输,路由选择最佳路径.

EX:

如果你需要将多台电脑连接到一根网线,用交换机即可

如果你只有一个外网ip,但是你有好多台电脑需要上网,用路由器即可

别跑,点个赞再走

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值