Javascript 直接从uWebsockets服务器读取UINT8阵列
我正在尝试使用uWebSockets库读取从web客户端发送的二进制ArrayBuffer数据 我发现了一个关于回购问题的问题,该问题描述了文本/blob数据的情况,但我想解析来自web客户端的uint8array数据:Javascript 直接从uWebsockets服务器读取UINT8阵列,javascript,c++,websocket,Javascript,C++,Websocket,我正在尝试使用uWebSockets库读取从web客户端发送的二进制ArrayBuffer数据 我发现了一个关于回购问题的问题,该问题描述了文本/blob数据的情况,但我想解析来自web客户端的uint8array数据: 我使用的是非常简单的示例客户端: int main() { uWS::Hub h; h.onMessage([](uWS::WebSocket<uWS::SERVER> *ws, char *message, size_t length,
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();
}
然后将
uint8array
发送到套接字。text/blob示例不起作用,试图将其作为uint8\u t
数组来读取是不起作用的,我一辈子都不知道如何读取它,以便数据可用。请注意,返回到客户端的回显确实有效-我将返回我输入的内容。从客户端读取数据并对其作出响应非常简单:
h.onMessage([](uWS::WebSocket<uWS::SERVER> *ws, char *message, size_t, length, uWS::OpCode opCode) {
std::string receivedMessage(message, length);
ws->send("Reponse from server", uWS::OpCode::BINARY);
});
h.onMessage([](uWS::WebSocket*ws,char*message,大小,长度,uWS::操作码){
std::字符串receivedMessage(消息,长度);
ws->send(“从服务器响应”,uWS::操作码::二进制);
});
h.onMessage([](uWS::WebSocket<uWS::SERVER> *ws, char *message, size_t, length, uWS::OpCode opCode) {
std::string receivedMessage(message, length);
ws->send("Reponse from server", uWS::OpCode::BINARY);
});