• 八、会话类
    • 8. Socket会话类
      • 用于缓冲会话中的各种对象和会话属性。

    八、会话类

    8. Socket会话类

    org.voovan.network.aio.AioSession

    org.voovan.network.nio.NioSession

    用于缓冲会话中的各种对象和会话属性。
    1. public SocketContext sockContext()
    • 获取socket连接上下文
    • 返回值: socket连接上下文。
    1. public boolean containAttribute(Object key)
    • 判断是否包含某个会话属性
    • key:属性名称
    1. public Object getAttribute(Object key)
    • 获取会话属性值
    • key:属性名称
    • 返回值:属性值
    1. public void setAttribute(Object key, Object value)
    • 设置会话属性值
    • key:属性名称
    • value:属性值
    1. public void enabledMessageSpliter(boolean useSpliter)
    • 设置是否使用分割器读取
    • useSpliter: - true 使用分割器读取,false 不使用分割器读取,且不会出发 onRecive 事件
    1. public int read(ByteBuffer byteBuffer) throws IOException
    • 读取消息
    • byteBuffer: 字节缓冲对象ByteBuffer,读取 前需要使用 enabledMessageSpliter(false) 停止分割器的工作,除非有特殊的需求。
    1. public void send(ByteBuffer buffer) throws IOException
    • 发送消息
    • buffer: 发送消息的缓冲区,注意直接调用不会出发 onSent 事件。
    1. public Object synchronouRead() throws ReadMessageException
    • 同步读取消息。
    • 返回值: 读取出的对象。
    1. public void synchronouSend(Object obj) throws SendMessageException
    • 同步发送消息。
    • obj: 要发送的对象。
    1. public HeartBeat getHeartBeat()
    • 获取心跳对象。
    • obj: 心跳对象。
    1. public int getIdleInterval()
    • 获取空闲事件时间
    1. public void send(ByteBuffer buffer) throws IOException
    • 设置空闲事件时间
    • idleInterval: 空闲事件时间。
    1. public abstract boolean isConnected()
    • 会话是否连接
    • 返回值:true: 打开,false: 关闭
    1. public abstract boolean isOpen()
    • 会话是否打开
    • 返回值:true: 打开,false: 关闭
    1. public abstract boolean close();
    • 关闭当前 Socket 连接,不会出发 onClose 事件
    1. public abstract String loaclAddress()
    2. public abstract int loaclPort()
    3. public abstract String remoteAddress()
    4. public abstract int remotePort()

    -这四个方法用于获取本地,对端的 IP 地址和端口信息