服务器- 接受int 返回 int
***
#该函数用于开启一个socket服务器,接受来自客户端的 图片大小 def function_socket_receive_picture_size():global g_received_picture_sizelistenSocekt=socket(AF_INET, SOCK_STREAM) IP='127.0.0.1'PORT=50000listenSocekt.bind((IP,PORT))listenSocekt.listen(1)#开始监听print("Server50000 listening...")#开启循环,为客户服务while True:client_Incarnation , client_ip=listenSocekt.accept()#等客人上门with client_Incarnation:#with 的作用是:自动关闭主服务器 socket(防止端口占用)。print(f"Connected by {client_ip}")# 读取4字节长度(大端序)length_data = bytearray()while len(length_data) < 4:packet = client_Incarnation.recv(4 - len(length_data))if not packet :print(f"连接中断,已接收数据长度: {len(length_data)}")break# 连接中断length_data+=packet print("Invalid length received{packet}")if len(length_data) != 4:print("Invalid length received{client_ip}")continue# 解析整数(网络字节序)g_received_picture_size = struct.unpack('!I', length_data)[0]print(f"Received number: {g_received_picture_size}")# 将相同数字发回客户端client_Incarnation.sendall(struct.pack('!i', g_received_picture_size))print(f"Sent back: {g_received_picture_size}")