【发布时间】:2021-06-03 07:15:13
【问题描述】:
我喜欢将 ArrayBuffer 从 JavaScript 发送到 WebSocket 服务器,该服务器将二进制文件返回给网络中的其他客户端。
我的问题是,我不知道如何将 ArrayBuffer 从 JavaScript 1:1 发送到服务器,然后从服务器发送回客户端。
我尝试了一个简单的 ByteBuffer,但它只发送一个数组元素。 然后我尝试了:
InputStream arrayIO = new ByteArrayInputStream(payloadIO);
ByteBuffer bufferIO = ByteBuffer.allocate(payloadIO.length + 1);
while (arrayIO.available() > 0) {
bufferIO.put((byte) arrayIO.read());
}
for (Session rowIO : sessionsIO.values()) {
if (rowIO.isOpen()) {
rowIO.getRemote().sendBytes(bufferIO);
}
}
这给了我:
Buffer [0]
0: 0
offset: (...)
parent: (...)
buffer: (...)
byteLength: (...)
byteOffset: (...)
length: (...)
Symbol(Symbol.toStringTag): (...)
__proto__: Uint8Array
关于 JavaScript 部分。
【问题讨论】:
标签: javascript java arrays bytebuffer arraybuffer