本文整理汇总了Java中io.netty.handler.codec.DelimiterBasedFrameDecoder类的典型用法代码示例。如果您正苦于以下问题:Java DelimiterBasedFrameDecoder类的具体用法?Java DelimiterBasedFrameDecoder怎么用?Java DelimiterBasedFrameDecoder使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
DelimiterBasedFrameDecoder类属于io.netty.handler.codec包,在下文中一共展示了DelimiterBasedFrameDecoder类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: switchToBinary
import io.netty.handler.codec.DelimiterBasedFrameDecoder; //导入依赖的package包/类
private void switchToBinary(ChannelHandlerContext ctx) {
ChannelPipeline p = ctx.pipeline();
p.addLast(new DelimiterBasedFrameDecoder(maxFrameLength, Delimiters.lineDelimiter()));
p.addLast(new StringDecoder(Charset.forName(charset)));
p.addLast(new NetoJsonToMessageDecoder(opcodeMap));
NetoMessageToJsonEncoder netoMessageToJsonEncoder = new NetoMessageToJsonEncoder();
netoMessageToJsonEncoder.setOpcodeMap(opcodeMap);
p.addLast(netoMessageToJsonEncoder);
p.addLast(new MessageHandler(redisService));
p.remove(this);
// 핸들러를 다시 등록 했으므로 이벤트를 전파
ctx.fireChannelActive();
}
示例2: initChannel
import io.netty.handler.codec.DelimiterBasedFrameDecoder; //导入依赖的package包/类
@Override
protected void initChannel(SocketChannel ch) throws Exception {
NetoJsonToMessageDecoder decoder = new NetoJsonToMessageDecoder(opcodeMap);
NetoMessageToJsonEncoder encoder = new NetoMessageToJsonEncoder();
if (opcodeMap instanceof BiMap) {
encoder.setOpcodeMap((BiMap<Integer, Class<? extends NetoJsonMessage>>) opcodeMap);
}
MessageHandler handler = new MessageHandler(redisService);
ChannelPipeline p = ch.pipeline();
p.addLast(new DelimiterBasedFrameDecoder(maxFrameLength, Delimiters.lineDelimiter()));
p.addLast(new StringDecoder(Charset.forName(charset)));
p.addLast(decoder);
p.addLast(encoder);
p.addLast(handler);
}
示例3: initChannel
import io.netty.handler.codec.DelimiterBasedFrameDecoder; //导入依赖的package包/类
@Override
public void initChannel(SocketChannel ch) throws Exception {
ChannelPipeline pipeline = ch.pipeline();
pipeline.addLast(new LoggingHandler());
// Add SSL handler first to encrypt and decrypt everything.
// In this example, we use a bogus certificate in the server side
// and accept any invalid certificates in the client side.
// You will need something more complicated to identify both
// and server in the real world.
if (sslCtx != null)
pipeline.addLast(sslCtx.newHandler(ch.alloc(), SecureChatClient.HOST, SecureChatClient.PORT));
// On top of the SSL handler, add the text line codec.
pipeline.addLast(new DelimiterBasedFrameDecoder(8192, Delimiters.lineDelimiter()));
pipeline.addLast(new StringDecoder());
pipeline.addLast(new StringEncoder());
// and then business logic.
pipeline.addLast(new SecureChatClientHandler());
}
示例4: initChannel_configuresSerialChannel
import io.netty.handler.codec.DelimiterBasedFrameDecoder; //导入依赖的package包/类
@Test
public void initChannel_configuresSerialChannel() throws Exception {
when(channel.config()).thenReturn(config);
when(config.getBaudrate()).thenReturn(19200);
when(config.getDatabits()).thenReturn(DATABITS_8);
when(config.getStopbits()).thenReturn(STOPBITS_1);
when(config.getParitybit()).thenReturn(NONE);
when(channel.pipeline()).thenReturn(pipeline);
initializer.setRxTxSerialHandler(handler);
initializer.initChannel(channel);
// Check if serial config is correct:
verify(config, times(1)).setBaudrate(19200);
verify(config, times(1)).setDatabits(DATABITS_8);
verify(config, times(1)).setStopbits(STOPBITS_1);
verify(config, times(1)).setParitybit(NONE);
// Check if encoders, decoders and handlers are set:
verify(pipeline, times(1)).addLast(eq("framer"), any(DelimiterBasedFrameDecoder.class));
verify(pipeline, times(1)).addLast(eq("decoder"), any(RxtxMessageFrameDecoder.class));
verify(pipeline, times(1)).addLast(eq("encoder"), any(RxtxMessageFrameEncoder.class));
verify(pipeline, times(1)).addLast(eq("handler"), eq(handler));
}
示例5: initChannel
import io.netty.handler.codec.DelimiterBasedFrameDecoder; //导入依赖的package包/类
@Override
protected void initChannel(SocketChannel ch) throws Exception {
ch.config().setAllowHalfClosure(true);
ChannelPipeline pipeline = ch.pipeline();
//IdleStateHandler 与客户端链接后,根据超出配置的时间自动触发userEventTriggered
//readerIdleTime服务端长时间没有读到数据,则为读空闲,触发读空闲监听,并自动关闭链路连接,周期性按readerIdleTime的超时间触发空闲监听方法
//writerIdleTime服务端长时间没有发送写请求,则为空闲,触发写空闲监听,空闲期间,周期性按writerIdleTime的超时间触发空闲监听方法
//allIdleTime 服务端在allIdleTime时间内未接收到客户端消息,或者,也未去向客户端发送消息,则触发周期性操作
pipeline.addLast("ping", new IdleStateHandler(10, 20, 35, TimeUnit.SECONDS));
// 以("\n")为结尾分割的 解码器
pipeline.addLast("framer", new DelimiterBasedFrameDecoder(8192, Delimiters.lineDelimiter()));
// 字符串解码 和 编码
pipeline.addLast("decoder", new StringDecoder());
pipeline.addLast("encoder", new StringEncoder());
// 自己的逻辑Handler
pipeline.addLast("handler", new DataServerHandler(nodeInfo));
}
示例6: initChannel
import io.netty.handler.codec.DelimiterBasedFrameDecoder; //导入依赖的package包/类
@Override
protected void initChannel(SocketChannel socketChannel) throws Exception {
ChannelPipeline pipeline = socketChannel.pipeline();
pipeline.addLast("framer", new DelimiterBasedFrameDecoder(8192, Delimiters.lineDelimiter()))
.addLast("decoder", new StringDecoder())
.addLast("encoder", new StringEncoder())
.addLast("json_to_ob",new JsonToObjectHandler())
.addLast("register",new RegisterHandler())
.addLast("authority", new AuthorityHandler())
.addLast("enterGroup",new EnterGroupHandler())
.addLast("channelManager", new ChannelManagerHandler())
.addLast("createGroup", new CreateGroupHandler())
.addLast("addGroup", new AddGroupHandler())
.addLast("deleteGroup",new DeleteGroupHandler())
.addLast("Limiter", new LimiterHandler())
.addLast("log", new LoggerHandler())
.addLast("response", new Responser());
}
示例7: initChannel
import io.netty.handler.codec.DelimiterBasedFrameDecoder; //导入依赖的package包/类
@Override
protected void initChannel(SocketChannel ch) throws Exception {
ChannelPipeline pipeline = ch.pipeline();
/*
* 这个地方的 必须和服务端对应上。否则无法正常解码和编码
*
* 解码和编码 我将会在下一张为大家详细的讲解。再次暂时不做详细的描述
*/
pipeline.addLast("framer", new DelimiterBasedFrameDecoder(8192,
Delimiters.lineDelimiter()));
pipeline.addLast("decoder", new StringDecoder());
pipeline.addLast("encoder", new StringEncoder());
// 客户端的逻辑
pipeline.addLast("handler", new HelloClientHandler());
}
示例8: initChannel
import io.netty.handler.codec.DelimiterBasedFrameDecoder; //导入依赖的package包/类
@Override
public void initChannel(SocketChannel ch) throws Exception {
ChannelPipeline pipeline = ch.pipeline();
// Add SSL handler first to encrypt and decrypt everything.
// In this example, we use a bogus certificate in the server side
// and accept any invalid certificates in the client side.
// You will need something more complicated to identify both
// and server in the real world.
pipeline.addLast(sslCtx.newHandler(ch.alloc()));
// On top of the SSL handler, add the text line codec.
pipeline.addLast(new DelimiterBasedFrameDecoder(8192, Delimiters.lineDelimiter()));
pipeline.addLast(new StringDecoder());
pipeline.addLast(new StringEncoder());
// and then business logic.
pipeline.addLast(new SecureChatServerHandler());
}
示例9: initChannel
import io.netty.handler.codec.DelimiterBasedFrameDecoder; //导入依赖的package包/类
@Override
public void initChannel(SocketChannel ch) throws Exception {
ChannelPipeline pipeline = ch.pipeline();
// Add SSL handler first to encrypt and decrypt everything.
// In this example, we use a bogus certificate in the server side
// and accept any invalid certificates in the client side.
// You will need something more complicated to identify both
// and server in the real world.
pipeline.addLast(sslCtx.newHandler(ch.alloc(), SecureChatClient.HOST, SecureChatClient.PORT));
// On top of the SSL handler, add the text line codec.
pipeline.addLast(new DelimiterBasedFrameDecoder(8192, Delimiters.lineDelimiter()));
pipeline.addLast(new StringDecoder());
pipeline.addLast(new StringEncoder());
// and then business logic.
pipeline.addLast(new SecureChatClientHandler());
}
示例10: initChannel
import io.netty.handler.codec.DelimiterBasedFrameDecoder; //导入依赖的package包/类
@Override
public void initChannel(SocketChannel ch) throws Exception {
ChannelPipeline pipeline = ch.pipeline();
if (sslCtx != null) {
pipeline.addLast(sslCtx.newHandler(ch.alloc()));
}
// Add the text line codec combination first,
pipeline.addLast(new DelimiterBasedFrameDecoder(8192, Delimiters.lineDelimiter()));
// the encoder and decoder are static as these are sharable
pipeline.addLast(DECODER);
pipeline.addLast(ENCODER);
// and then business logic.
pipeline.addLast(SERVER_HANDLER);
}
示例11: initChannel
import io.netty.handler.codec.DelimiterBasedFrameDecoder; //导入依赖的package包/类
@Override
public void initChannel(SocketChannel ch) {
ChannelPipeline pipeline = ch.pipeline();
if (sslCtx != null) {
pipeline.addLast(sslCtx.newHandler(ch.alloc(), TelnetClient.HOST, TelnetClient.PORT));
}
// Add the text line codec combination first,
pipeline.addLast(new DelimiterBasedFrameDecoder(8192, Delimiters.lineDelimiter()));
pipeline.addLast(DECODER);
pipeline.addLast(ENCODER);
// and then business logic.
pipeline.addLast(CLIENT_HANDLER);
}
示例12: initChannel
import io.netty.handler.codec.DelimiterBasedFrameDecoder; //导入依赖的package包/类
@Override
protected void initChannel(final SocketChannel ch) throws Exception {
final ChannelPipeline pipeline = ch.pipeline();
// decoders
// Add the text line codec combination first,
pipeline.addLast("framer", new DelimiterBasedFrameDecoder(8192, Delimiters.lineDelimiter()));
pipeline.addLast("stringDecoder", stringDecoder);
pipeline.addLast("requestDecoder", requestDecoder);
// encoders
pipeline.addLast("stringEncoder", stringEncoder);
pipeline.addLast("responseEncoder", responseEncoder);
// business logic handler
pipeline.addLast(group, "serverHandler", serverHandler);
pipeline.addLast("exceptionHandler", exceptionHandler);
}
示例13: testFailSlowTooLongFrameRecovery
import io.netty.handler.codec.DelimiterBasedFrameDecoder; //导入依赖的package包/类
@Test
public void testFailSlowTooLongFrameRecovery() throws Exception {
EmbeddedChannel ch = new EmbeddedChannel(
new DelimiterBasedFrameDecoder(1, true, false, Delimiters.nulDelimiter()));
for (int i = 0; i < 2; i ++) {
ch.writeInbound(Unpooled.wrappedBuffer(new byte[] { 1, 2 }));
try {
assertTrue(ch.writeInbound(Unpooled.wrappedBuffer(new byte[] { 0 })));
fail(DecoderException.class.getSimpleName() + " must be raised.");
} catch (TooLongFrameException e) {
// Expected
}
ch.writeInbound(Unpooled.wrappedBuffer(new byte[] { 'A', 0 }));
ByteBuf buf = releaseLater((ByteBuf) ch.readInbound());
assertEquals("A", buf.toString(CharsetUtil.ISO_8859_1));
}
}
示例14: testFailFastTooLongFrameRecovery
import io.netty.handler.codec.DelimiterBasedFrameDecoder; //导入依赖的package包/类
@Test
public void testFailFastTooLongFrameRecovery() throws Exception {
EmbeddedChannel ch = new EmbeddedChannel(
new DelimiterBasedFrameDecoder(1, Delimiters.nulDelimiter()));
for (int i = 0; i < 2; i ++) {
try {
assertTrue(ch.writeInbound(Unpooled.wrappedBuffer(new byte[] { 1, 2 })));
fail(DecoderException.class.getSimpleName() + " must be raised.");
} catch (TooLongFrameException e) {
// Expected
}
ch.writeInbound(Unpooled.wrappedBuffer(new byte[] { 0, 'A', 0 }));
ByteBuf buf = releaseLater((ByteBuf) ch.readInbound());
assertEquals("A", buf.toString(CharsetUtil.ISO_8859_1));
}
}
示例15: initChannel
import io.netty.handler.codec.DelimiterBasedFrameDecoder; //导入依赖的package包/类
@Override
public void initChannel(SocketChannel ch) throws Exception {
ChannelPipeline pipeline = ch.pipeline();
// Add SSL handler first to encrypt and decrypt everything.
// In this example, we use a bogus certificate in the server side
// and accept any invalid certificates in the client side.
// You will need something more complicated to identify both
// and server in the real world.
pipeline.addLast(sslCtx.newHandler(ch.alloc()));
// On top of the SSL handler, add the text line codec.
pipeline.addLast(new DelimiterBasedFrameDecoder(8*8192, Delimiters.lineDelimiter()));
pipeline.addLast(new StringDecoder());
pipeline.addLast(new StringEncoder());
// and then business logic.
pipeline.addLast(new NettySpoutServerHandler(spout));
}