# 1.CS架构 服务端和客户端架构
# 软件CS架构:京东,淘宝.qq
# 硬件CS架构:打印机
# 服务端提供服务
# 客户端享受服务
# BS架构:浏览器和服务端
# 2.网络通信中的名词硬件
# 网卡:接收电信号
# mac地址:网卡的唯一标识,出厂烧制
# 广播;信息发给所有人
# 单播:单独发给某个人
# ip地址:划分广播域
# 集线器:间所有的电脑连接起来
# 交换机:升级版的集线器
# DHCP协议:自动分配ip地址
# 换分广播域__>ip网段
# 子掩码:计算目标ip地址是否是咱么同一网段
# 路由器:管理局域网
# 找外部网络的设备:
# 域名:对应一个ip地址
# DNS服务器:记录着所有域名和他对应的ip的地址(字典)
# 网关:在路由器这把关你对外的所有请求
# NAT技术:将你的ip地址转换为网关的IP地址
# 路由器的(对外网的作用):转发消息
# 路由协议:计算一个最优路径,然后进行路由转发
# 端口:标识电脑上某个应用程序范围0-65535 0-1024内部应用程序用,我们一般使用的是8000以后的
服务端:
import socket
server=socket.socket() #创建一个socket对象
server_ip_port=("192.168.15.77",8002) #绑定ip,和端口
server.bind(server_ip_port) #用户绑定ip和端口
server.listen() #监听server
conn,addr=server.accept() # 等待接受客户端的消息
from_client_msg=conn.recv(1024) #接收消息
from_client_msg=from_client_msg.decode("utf-8")# 将接收的消息解码
print(from_client_msg) #打印消息
msg=input("请输入消息:")
conn.send(msg.encode("utf-8"))# 发送新消息
conn.close() #关闭通道
server.close() #关闭服务端
客户端
import socket
client=socket.socket()
server_ip_port=("192.168.15.77",8002)
client.connect(server_ip_port)
msg=input("要发送的消息:")
client.send(msg.encode("utf-8")) #发送编码的消息
from_server_msg=client.recv(1024) #接收服务端的消息
from_server_msg=from_server_msg.decode("utf-8")
print("接收的消息%s"%from_server_msg)
client.close() #关闭客户端