0
我试图用uWebSockets库来读取来自Web客户端发送的二进制数据ArrayBuffer。读uint8array直接从uWebsockets服务器
我发现在描述这个文本/ BLOB数据的情况下,回购问题的问题,但我想分析uint8array数据从Web客户端进来:
我使用的是非常简单的例子,客户端:
int main()
{
uWS::Hub h;
h.onMessage([](uWS::WebSocket<uWS::SERVER> *ws, char *message, size_t length, uWS::OpCode opCode) {
uint8_t messageString [length]; //Create char array with length of message length
cout << "length: " << length << endl;
for (int i = 0; i < length; i++) { //Iterate through each character in the message
messageString[i] = (uint8_t)message[i]; //Add message character to messageString
}
cout << "Message: " << &messageString[1] << endl;
ws->send (message, length, opCode);
});
h.listen (3000);
h.run();
}
,并在客户端上我做的:
{
ws = new WebSocket(wsUri);
ws.binaryType = "arraybuffer";
ws.onopen = function (evt) { onOpen(evt) };
ws.onclose = function (evt) { onClose(evt) };
ws.onmessage = function (evt) { onMessage(evt) };
ws.onerror = function (evt) { onError(evt) };
}
和发送uint8array
下的插槽中。文/ BLOB例如不工作,试图读取它作为一个uint8_t
阵列是不行的,我不能为我的生活弄清楚如何阅读,这样的数据是可用的。需要注意的是回声返回给客户端也不过工作 - 我的东西拿回来,我把