public class MessageLoader extends Object
| 限定符和类型 | 类和说明 |
|---|---|
static class |
MessageLoader.StopType |
| 构造器和说明 |
|---|
MessageLoader(IoSession session)
构造函数
|
| 限定符和类型 | 方法和说明 |
|---|---|
void |
close()
关闭 MessageLoader
|
MessageLoader.StopType |
getStopType()
获取停止类型
|
static boolean |
isStreamEnd(byte[] buffer,
Integer length)
判断字节所属流是否结束
|
static boolean |
isStreamEnd(ByteBuffer buffer,
Integer length)
判断字节所属流是否结束
|
boolean |
isUseSpliter()
获取是否使用分割器读取
|
void |
pause()
暂停
|
ByteBuffer |
read()
读取 socket 中的数据
逐字节读取数据,并用消息截断器判断消息包是否完整,消息粘包有两种截断方式:
1.消息截断器生效
2.消息读取时间超时,例如设置5m,则连续5秒内没有读取到有用的消息则返回报文.
|
void |
reset()
重置计数
读取超时时间回0
|
void |
setStopType(MessageLoader.StopType stopType)
设置停止类型
|
void |
setUseSpliter(boolean useSpliter)
设置是否是否使用分割器读取
|
void |
unpause()
恢复
|
public MessageLoader(IoSession session)
session - Session 对象public boolean isUseSpliter()
public void setUseSpliter(boolean useSpliter)
useSpliter - true 使用分割器读取,false 不使用分割器读取,且不会出发 onRecive 事件public MessageLoader.StopType getStopType()
public void setStopType(MessageLoader.StopType stopType)
stopType - 停止类型public void pause()
public void unpause()
public static boolean isStreamEnd(ByteBuffer buffer, Integer length)
buffer - 缓冲区length - 长度public static boolean isStreamEnd(byte[] buffer,
Integer length)
buffer - 缓冲区length - 长度public void reset()
public void close()
public ByteBuffer read() throws IOException
IOException - IO 异常Copyright © 2017 Voovan. All rights reserved.