我正在使用客户端/服务器模型中的套接字(Python中的客户端和C中的服务器),我必须将一些数据从客户端发送到服务器,因此我使用:
packed_data= pack('B5s5s50s',0x21,extension.strip(),pin,'')
打包我要发送的数据,但是
我不知道如何在使用服务器的C中解压缩此数据。
答案 0 :(得分:0)
根据struct
模块的文档,您的消息将始终具有61字节的固定长度。因此,您将从套接字读取61个字节到适当的容器中,以便在C应用程序中解压缩它。
这是一些未经测试的示例代码:
unsigned char buf[61] = {0};
read(sockfd, buf, sizeof(buf));
// print contents:
printf("%#2x\n", buf[0]);
for (i=1; i<6; i++) printf("%#2x ", buf[i]); printf("\n");
for (i=6; i<11; i++) printf("%#2x ", buf[i]); printf("\n");
for (i=11; i<61; i++) printf("%#2x ", buf[i]); printf("\n");
供参考: