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()

 

posted @ 2019-01-03 20:27  清茶i  阅读(153)  评论(0编辑  收藏  举报