一 C\S架构,客户端服务端架构
客户端(client) : 享受服务端提供的服务 服务端(server) : 给客户端提供服务 B\S 浏览器和服务端 B(browser)
二 网络通信的整个流程(硬件\名词) 集线器:将咱们所有的插上集线器的电脑连通起来
交换机: 升级版集线器
网卡: 接收电信号,网络插口:插网线
mac地址(物理地址): 8C-EC-4B-87-99-D7 16进制的6个数表示,前三位厂商编号,后三位生产流水号
全球唯一的,相当于身份证 广播\单播 广播风暴:首先不安全,拥堵信息 IP地址: 192.168.15.113 四个点分十进制组成
192.168.15.0 -- 192.168.15.255 256 划分广播域
IPv4 :
IPv6 : 6个冒号分十六进制
IPv6 地址: fe80::48c3:8f81:8474:c7d0%2
DHCP协议:自动分配IP地址 子网掩码: 255.255.255.0,
例外一个班的同学的IP地址为:192.168.14.12
192.168.14.12
255.255.255.0 11000000.10101000.00001110.00001100
11111111.11111111.11111111.00000000
11000000.10101000.00001110.00000000
192.168.14.0
计算是否属于同一网段
属于同一个网段的,我们成为属于同一子网 #powerdesigner 制图软件,processon
DNS服务器:域名:www.jd.com -->ip地址
路由器:管理网络,联通外网,并且路由转发,就是转发消息
路由协议:计算最优路径
网关:把关用的,公网IP,也可以说是路由器的IP地址
NAT:网络地址转换,将你局域网的IP地址转换为公网的IP地址,也就是网关的IP地址
局域网\内网
端口:电脑给你创建的标识电脑上的程序用的.
0-65535 ,0-1024 属于电脑内部的一些服务用的,千万别用,8000一般自己写程序的时候都不用. 三.初识socket
例:
服务端:
import socket
#创建了一个socket对象
server = socket.socket() #创建一个手机
ip_port = ('192.168.15.113',8001) #创建了一张电话卡
#绑定IP地址和端口
server.bind(ip_port) #插上电话卡
#监听IP地址和端口 server.listen() #开机
print(11111)
#等待客户端的链接
conn, addr = server.accept() #等着别人给我打电话,阻塞住 #接收消息
from_client_msg = conn.recv(1024) #1024为消息大小,单位B,MB = 1024KB,1KB = 1024B
#接收的消息是bytes类型,需要转换为字符串
from_client_msg = from_client_msg.decode('utf-8')
print(from_client_msg) conn.send('死鬼,十点'.encode('utf-8'))
#关闭链接
conn.close()
server.close() # print(conn)
# print('>>>>',addr)
客户端:
import socket
client = socket.socket() server_ip_port = ('192.168.15.113',8001) #链接服务端
client.connect(server_ip_port) #发消息
client.send('约吗'.encode('utf-8')) #send里面的消息必须是字节类型的 from_server_msg = client.recv(1024) #阻塞住,等待接收消息
from_server_msg = from_server_msg.decode('utf-8')
print(from_server_msg) client.close()