初始socket编程
服务端语法
import socket # 导入套接字模块
# 生成一个socket对象进行网络编程操作
server = socket.socket(family=socket.AF_INET, type=socket.SOCK_STREAM) # family用那种家族协议进行传输 AF_INET相当于基于网络来进行通信的
# type.socket.SOCK_STREAM 用那种类型来进行同行 tup流式的形式进行数据传输
# 绑定一个ip和端口,用于客服端进行识别服务端的位置和身份进行连接
server.bind(('192.168.43.239', 8080)) # 第一个参数是服务器的IP地址,范围是0~65535第二个参数是应用的端口0~1024是个操作系统用的
# 开始运行
server.listen(2) # 最大进行几个连接进行访问
# 等待客服端进行连接访问
conn, client_addr = server.accept() # 拿到客服端访问的结果 一个客服端socket的对象,一个客服端的IP地址和端口
# 拿到架好的网线进行收发消息
data = conn.recv(1024) # 接收多少的bytes字节的data数据的最大数
print(data) # 打印一下收到的消息内容
conn.send(data.upper()) # 发送消息回去
# 关闭服务
conn.close() # 关闭客服端的socket访问
# 关闭服务端的socket
server.close()
客服端语法
import socket
service = socket.socket(family=socket.AF_INET, type=socket.SOCK_STREAM)
# 发送消息 连接服务端
service.connect(('192.168.43.239', 8080))
# 发收消息
service.send('hello world'.encode('utf-8')) # 发送消息
data = service.recv(1024) # 接受消息
print(data)
# 关闭socket的通道
service.close()