如何使用码头';在真实应用程序中使用onWebSocketBinary API

如何使用码头';在真实应用程序中使用onWebSocketBinary API,websocket,server,jetty,Websocket,Server,Jetty,WebSocketListener的obWebSocketBinary方法的API签名及其子类如下所示: void onWebSocketBinary​(字节[]有效载荷,整数偏移量,整数长度) 让我们从offsetduelen调用有效负载中的字节-“当前字节”。我应该如何解释此API: “当前_字节”是从客户端发送的整条二进制消息,有效负载数组的其余部分与此会话调用无关 “当前字节”是部分二进制消息,我应该收集数据,直到偏移量+len等于有效负载。长度 “当前_字节”是部分二进制消息,但我应

WebSocketListener
obWebSocketBinary
方法的API签名及其子类如下所示:

void onWebSocketBinary​(字节[]有效载荷,整数偏移量,整数长度)

让我们从
offset
due
len
调用
有效负载中的字节-“当前字节”。我应该如何解释此API:

  • “当前_字节”是从客户端发送的整条二进制消息,
    有效负载
    数组的其余部分与此会话调用无关
  • “当前字节”是部分二进制消息,我应该收集数据,直到
    偏移量
    +
    len
    等于
    有效负载。长度
  • “当前_字节”是部分二进制消息,但我应该通过检查有效负载内容来管理“完整消息传递”的概念

如果假定“<代码>偏移<代码>到期<代码> Le<代码>不是<代码>有效载荷< /C>数组的全部内容,我可以把它看作是一个“共享”的内存,用作不同的有效载荷的缓冲区吗?

< P> API是完整的二进制消息。 偏移量/len的原因是字节缓冲区是在整个websocket消息的整个长度已知之前分配的

因此发送给您的字节缓冲区通常比消息大

如果需要部分消息,则需要知道“fin”(final)标志

对于部分二进制,您将使用接口和方法

onWebSocketPartialBinary​(java.nio.ByteBuffer有效负载,布尔fin)

您能看一下下面的问题吗?它没有相关的答案,虽然这不是我的问题,但我面临着同样的问题。此外,对于那些试图从运行嵌入式Jetty的可运行jar中提供静态内容的人来说,这也可能是相关的…@Z3d4s不会劫持指向无关问题的其他问题/答案。这对任何人都没有帮助。请随便问一个新问题,或者更好地搜索你问题的答案