Python之网络编程(一)
CS架构 客户端服务端架构
服务端:提供服务的
客户端:享受服务的
BS架构:浏览器和服务端
网络通信流程:
集线器:将所有连接上它的电脑全部联通起来
交换机:升级版的集线器
网卡:接收处理电信号
Mac地址:网络设备的全球唯一标示,又称为物理地址
广播 单播
广播风暴
Ipv4地址:4个点分十进制 还有ipv6
作用:划分广播域
子网掩码:计算ip地址段,或者判断ip地址是否属于同一地址段
DHCP协议:自动获取ip地址
DNS:域名解析
Arp协议:通过ip地址获取mac,因为ip地址不固定,mac是全球唯一的
路由器:转发消息,管理内网
路由协议:计算路由转发的最优路径
端口:标示电脑上某个应用程序
Ip地址+端口 = 能够唯一锁定一台电脑和这个电脑上的某个应用程序
网关:把关用的,意思就说所有对外的请求都要经过网关
NAT技术:网络地址转换,内网ip地址转换为公网或者说外网的ip地址
Socket:用于网络通信的模块,独立于语言
#服务端 import socket Server = socket.socket() Ip_port = ('192.168.12.11', 8003) # 127.0.0.1 本机的回环地址 Server.bind(ip_port) # 绑定ip地址和端口 Server.listen() # 监听ip Conn, addr = server.accept() From_client_msg = conn.recv(1024) Print(from_client_msg.decode('utf - 8')) Conn.send('你好'.encode('utf - 8')) Conn.close() Server.close()
#客户端 import socket Client = socket.socket() Ip_port = ('192.168.12.11', 8003) Client.connect(ip_port) Client.send('嗨'.encode('utf-8')) From_server_msg = client.recv(1024) Print(from_server_msg.decode('utf-8')) Client.close()