我使用Camel + Netty进行套接字连接。在camel-context文件中,我将Netty用于套接字连接,但我希望Netty的行为如下:
Netty必须从大小等于inputstream.available()的输入流中读取字符,但Netty会阻塞代码,因为它希望输入流的末尾有\r\n、\r或\n。
如何配置Netty以实现此功能?我应该使用Netty的哪些选项?
我使用textline=true。
发布于 2015-01-25 11:49:09
根据您的描述,您正在从协议中读取一定数量的字符,其中每条消息(行)都是等长的。代码行Use textline = true告诉Netty您将发送一个文本行协议,即一行可能是可变大小的,并以诸如\r\n之类的字符序列结尾。
将此行设置为false将不再需要Netty等待EOL终结器。但是,您需要实现某种形式的编解码器来读取您的协议。您的编解码器相当简单,因为它看起来所有行的长度都是相同的。
发布于 2015-01-24 23:42:40
如何将autoAppendDelimiter=false添加到端点?也许一个代码示例会很有帮助。
https://stackoverflow.com/questions/28126510
复制相似问题