程序包 qhs.interfaces

接口 WebSocketListener


  • public interface WebSocketListener
    一个WebSocketListener接口对象作为WebSocketStream.read()的listener参数值用于检测并且读取不同的WebSocket帧。 WebSocket帧包含有text帧、binary帧、continuation帧、close帧等等,见rfc6455的"5.2. Base Framing Protocol"章节。 在调试输出器(DebugOutputer),显示的帧名的左侧增加WS前缀,如:text帧称为WS-text帧,binary帧称为WS-binary帧。
    • 方法概要

      所有方法 实例方法 抽象方法 
      修饰符和类型 方法 说明
      void detectedFrameSize​(int size)
      当WebSocketStream.read()检测到WebSocket帧内部的Payload的尺寸时,就调用 detectedFrameSize()方法。
      void onBinary​(byte[] tempByteBuffer, int size)
      当WebSocketStream.read()检测到binary帧并且读取binary帧时,就把binary帧的整个 Payload或者Payload的一部分复制到tempByteBuffer参数并且调用onBinary()方法。
      void onClose()
      当WebSocketStream.read()检测到close帧就调用onClose()方法。
      void onText​(byte[] tempByteBuffer, int size)
      当WebSocketStream.read()检测到text帧并且读取text帧时,就把text帧的整个 Payload或者Payload的一部分复制到tempByteBuffer参数并且调用onText()方法。
    • 方法详细资料

      • detectedFrameSize

        void detectedFrameSize​(int size)
        当WebSocketStream.read()检测到WebSocket帧内部的Payload的尺寸时,就调用 detectedFrameSize()方法。浏览器(如Chrome111)调用JavaScript的WebSocket.send()发送大型数据(如1MBytes) 时,通常生成continuation帧,在这情况下,qhs把continuation帧合并到text帧或binary帧。
        参数:
        size - Payload的尺寸。
      • onText

        void onText​(byte[] tempByteBuffer,
                    int size)
        当WebSocketStream.read()检测到text帧并且读取text帧时,就把text帧的整个 Payload或者Payload的一部分复制到tempByteBuffer参数并且调用onText()方法。如果 Payload的尺寸大于tempByteBuffer.length,qhs就把Payload分成多个部分,把每个部分复 制到tempByteBuffer参数并且调用onText()方法。
        参数:
        tempByteBuffer - tempByteBuffer参数存放有整个Payload或者Payload的一部分。
        size - size参数值是存放在tempByteBuffer参数上的整个Payload或者Payload的一部分的尺寸。
      • onBinary

        void onBinary​(byte[] tempByteBuffer,
                      int size)
        当WebSocketStream.read()检测到binary帧并且读取binary帧时,就把binary帧的整个 Payload或者Payload的一部分复制到tempByteBuffer参数并且调用onBinary()方法。如果 Payload的尺寸大于tempByteBuffer.length,qhs就把Payload分成多个部分,把每个部分复 制到tempByteBuffer参数并且调用onBinary()方法。
        参数:
        tempByteBuffer - tempByteBuffer参数存放有整个Payload或者Payload的一部分。
        size - size参数值是存放在tempByteBuffer参数上的整个Payload或者Payload的一部分的尺寸。
      • onClose

        void onClose()
        当WebSocketStream.read()检测到close帧就调用onClose()方法。检测到close帧并不意味着 qhs就关闭WS流,要真正关闭WS流需要用户代码调用WebSocketStream.close()