程序包 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帧。
-
-
方法概要
所有方法 实例方法 抽象方法 修饰符和类型 方法 说明 voiddetectedFrameSize(int size)当WebSocketStream.read()检测到WebSocket帧内部的Payload的尺寸时,就调用 detectedFrameSize()方法。voidonBinary(byte[] tempByteBuffer, int size)当WebSocketStream.read()检测到binary帧并且读取binary帧时,就把binary帧的整个 Payload或者Payload的一部分复制到tempByteBuffer参数并且调用onBinary()方法。voidonClose()当WebSocketStream.read()检测到close帧就调用onClose()方法。voidonText(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()。
-
-