在 WebSocket JSR 356 中获取原始消息而不是字符串
Get raw message instead of String in WebSocket JSR 356
现在 MessageHandler.Whole<byte[]>
只有当消息实际上只是字节时才会激活。
仅在字节到达时激活
@Override
public void onMessage(byte[] message) { ... }
是否可以获取原始消息(WebSocket 不应检查它是否为字符串),即使它实际上是文本数据?这样做的原因是因为在解析原始字节而不是字符串时它会带来一些性能优势。
您提供的签名...
public void onMessage(byte[] message)
用于以二进制而非文本形式发送的 WebSocket 消息。
根据各种规范(协议规范:RFC6455 和 javax.websocket 规范:JSR-356),TEXT 消息具有强制性的 UTF8 验证要求。
如果您想在没有此 UTF8 验证要求的情况下发送字符串,请改为将它们作为二进制 WebSocket 消息发送。
现在 MessageHandler.Whole<byte[]>
只有当消息实际上只是字节时才会激活。
仅在字节到达时激活
@Override
public void onMessage(byte[] message) { ... }
是否可以获取原始消息(WebSocket 不应检查它是否为字符串),即使它实际上是文本数据?这样做的原因是因为在解析原始字节而不是字符串时它会带来一些性能优势。
您提供的签名...
public void onMessage(byte[] message)
用于以二进制而非文本形式发送的 WebSocket 消息。
根据各种规范(协议规范:RFC6455 和 javax.websocket 规范:JSR-356),TEXT 消息具有强制性的 UTF8 验证要求。
如果您想在没有此 UTF8 验证要求的情况下发送字符串,请改为将它们作为二进制 WebSocket 消息发送。