------------------------只有不快的斧,没有劈不开的柴;只有想不到的人,没有做不到的事。想干总会有办法,不想干总会有理由!
# ------------------------------------------------------------------------------------------------------------#
day 26
本阶段的内容
网络编程 并发编程 数据库 有可能还有前端
C\S架构(****) client server
软件C\S架构:客户端\服务端架构:京东,淘宝,今日头条,qq,微信.....
B\S架构:浏览器(browser)\服务端>>>统一接口
硬件C\S架构: 打印机.
网络通信整个流程(**)
网线:传输电信号
集线器:将所有连接到集线器的网络设备连通起来
交换机: 升级版的集线器
网卡:接受电信号
MAC地址:物理地址: 8C-EC-4B-88-B9-C9 #前三位厂商编号,后三位生产流水号
单播:
广播:
广播风暴:网络拥堵,信息不安全
Ip地址:
IPv4 地址: 192.168.15.46 #4个点分十进制
作用:划分广播域
192.168.15.46 #
Ipv4:192.168.15.0-192.168.15.255 # 八位二进制 256个电脑
Ipv6:
192.168.0.0 - 192.168.255.255
咱们班的ip地址段:192.168.15.0 -- 192.168.15.255
DHCP:自动分配IP地址
Arp表:保存着ip地址和mac地址对应关系
Arp协议:通过ip地址获取mac地址
子网掩码:计算两个ip地址是否属于同一网段:
255.255.255.0
源ip地址:192.168.15.46
11000000.10101000.00001111.00101110
11111111.11111111.11111111.00000000
11000000.10101000.00001111.00000000 #192.168.15.0
目标的ip:192.168.16.30 #192.168.16.0
路由器:转发消息
路由协议:计算路由转发消息的最优路径
端口号:0 - 65535,确定电脑上的应用程序的
Ip地址+端口 = 确定某个电脑上的某个应用程序
初识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()