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
陣列是不行的,我不能爲我的生活弄清楚如何閱讀,這樣的數據是可用的。需要注意的是回聲返回給客戶端也不過工作 - 我的東西拿回來,我把