![跟闪电侠学Netty:Netty即时聊天实战与底层原理](https://wfqqreader-1252317822.image.myqcloud.com/cover/384/43738384/b_43738384.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
7.3 读写指针相关的API
readerIndex()与readerIndex(int)
前者表示返回当前的读指针readerIndex,后者表示设置读指针。
writeIndex()与writeIndex(int)
前者表示返回当前的写指针writerIndex,后者表示设置写指针。
markReaderIndex()与resetReaderIndex()
前者表示把当前的读指针保存起来,后者表示把当前的读指针恢复到之前保存的值。下面两段代码是等价的。
![](https://epubservercos.yuewen.com/6C3355/23020652909769306/epubprivate/OEBPS/Images/txt008_2.jpg?sign=1738959691-rawveAKu9mhbBXUOCyPs2I7JXoKPw4nG-0-6529fc5e128f74cd2f388c8264313f87)
希望大家多使用代码片段二这种方式,不需要自己定义变量。无论Buffer被当作参数传递到哪里,调用resetReaderIndex()都可以恢复到之前的状态,在解析自定义协议的数据包时非常常见,推荐大家使用这一对API。
markWriterIndex()与resetWriterIndex()
这一对API的作用与上一对API类似,这里不再赘述。