初识socket
一.
C/S架构:客户端(client)/服务端(server)架构
B/S架构:浏览器(browser) / 服务端(server)架构
软件cs架构:浏览器,qq,微信,陌陌等等
硬件cs架构:打印机
二. 网络通信的整个流程
集线器:将所有连接上它的电脑全部联通起来
交换机:升级版的集线器
网卡:接收处理电信号
Mac地址:网络设备的全球唯一标示,又称为物理地址
Ipv4地址:4个点分十进制 还有ipv6
作用:划分广播域
子网掩码:计算ip地址段,或者判断ip地址是否属于同一地址段
DHCP协议:自动获取ip地址
DNS:域名解析
Arp协议:通过ip地址获取mac,因为ip地址不固定,mac是全球唯一的
路由器:转发消息,管理内网
路由协议:计算路由转发的最优路径
端口:标示电脑上某个应用程序
ip地址+端口 = 能够唯一锁定一台电脑和这个电脑上的某个应用程序
网关:把关用的,意思就说所有对外的请求都要经过网关
NAT技术:网络地址转换,内网ip地址转换为公网或者说外网的ip地址
三. 初识socket (重点)
Socket : 用于网络通信的模块,独立于语言
实现两个人即使消息发送 :
服务端:
import socket server = socket.socket() server_ip = ("192.168.12.40",1026) server.bind(server_ip) server.listen() conn,address = server.accept() while 1 : from_client = conn.recv(1024) print("高熠超说:",from_client.decode("utf-8")) a = input("我说:") if a.upper() == "Q": break else : conn.send(a.encode("utf-8")) conn.close() server.close()
客户端:
import socket client = socket.socket() client_ip = ("192.168.12.40",1026) client.connect(client_ip) while 1 : a = input("我说:") if a.upper() == "Q" : break else : client.send(a.encode("utf-8")) from_server = client.recv(1024) print("甜甜说:",from_server.decode("utf-8")) client.close()
客户端与服务端实现实时通话功能
Socket:用于网络通信的模块,独立于语言