socket 客户端-服务器的创建--day28
"""
socket是什么?
服务器
socket是Python提供的一个模块 当然其他的任何语言也都有
用于处理网络传输相关的操作 其实就是封装了
底层复杂 丑陋的TCP和UDP协议
对外提高简单 优雅的使用接口
socket的作用?
减少网络编程的工作量
如何使用socket模块
"""
import socket
# 默认使用的是TCP协议
# 创建socket对象
# CS构架的程序必然有客户端程序 和 服务器端程序
# 为了统一使用方式 服务器端和客户端使用的都是socket
soc = socket.socket()
# 作为服务器放必须为socket指定 ip和端口号
soc.bind(("192.168.12.141",1988)) # 端口不能超过65535 明确饭店地址
# 开始监听端口 相当于饭店开门了 等着顾客来
soc.listen()
# 接收客户端的连接请求
client,address = soc.accept()
# 接收
data = client.recv(1024)
print(data.decode("utf-8"))
# 发送
client.send("我是你的服务器 ".encode("utf-8"))
# 要注意 在服务端 收发数据是客户端socket来完成的 服务器端的sock 只做处理连接
# 收发数据都是bytes类型
# 关闭socket 回收资源
soc.close()
-----------------------------------------------------------------------------------------------------
客户端
import socket
# 创建socket对象
client = socket.socket()
# 连接服务器
client.connect(("192.168.12.141",1988)) # 就是在做三次握手
# 收发数据
client.send("你好".encode("utf-8"))
data = client.recv(1024)
print(data.decode("utf-8"))
# 关闭连接
client.close() # 在做四次挥手操作