我正在设置一个TCP套接字,该套接字通过二进制特定协议获取消息。 当我通过python套接字发送json字符串时,python迫使我使用编码功能,并且当数据到达服务器时,我不知道如何使其文字和可读。
这是针对客户端服务器游戏的,客户端以二进制协议(1字节-代码,4字节-data_length,data_length-{“ username”:“ ...”,“ password”:“)发送登录请求。 ..“}
示例:
python:
s.send("hey".encode())
c ++:
char* data = new char[3 + 1];
data[3] = NULL;
int res = recv(client_soc, data, 3, 0);
//data content is unreadable
我希望输出为“嘿”,但实际输出为===
答案 0 :(得分:0)
您需要做两件事:
1)编写一个函数以接收整个消息。
2)编写用于解码和解释消息的函数。
您需要首先执行步骤1,因此请专注于此。看起来像这样:
因此,请遵循此模式编写代码,如果您遇到困难,请询问有关陷入困境的特定步骤的问题。然后,您可以继续编写代码以解码消息。