我尝试使用Link2004/Arduino WebSockets库从Wemos D1(ESP8266) as服务器发送一个整数到使用OkHttpClient库的安卓客户端,使用sendBIN(num, buf, buf_len)
,如下所示:
int n=1234;
uint8_t * buf = (uint8_t *) &n;
size_t buf_len = sizeof(n);
webSocket.sendBIN(0,buf,buf_len); // num is set to 0, ( client # 0 )
但是我在Android端得到的是d2040000
,而不是1234。
Android监听器如下所示:
public void onMessage(WebSocket webSocket, ByteString bytes) {
output("Received bytes : " + bytes.hex());
}
正如我所说的,TextView输出的结果是d2040000
,而不是发送的1234。
有没有人能澄清这一点?
发布于 2018-08-22 22:33:24
字节0xd2
、0x04
、0x00
和0x00
是little-endian format中的32位整数1234的字节。
所以d2040000
是由这些字节组成的十六进制字符串。
https://stackoverflow.com/questions/51968416
复制相似问题