数据的流通是以byte的形式流通的,本文将通过字节转换成字符串new String的方式打印出来

第一个handler,首先,往pipeline里加了第二个handler,也就是说,pipeline里有两个handler了,handler1负责接收最原始的ByteBuf对象(msg),似乎对neety来说第一个handler永远都是ByteBuf,然后将ByteBuf转换成字符串,打印该字符串,打印完毕之后,将该字符串传递到handler2中

public class MyServerHandler1 implements ChannelInboundHandler {@Overridepublic void handlerAdded(ChannelHandlerContext ctx) throws Exception {//动态往pipeline里添加一个handlerctx.pipeline().addLast(new MyServerHandler2());}@Overridepublic void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {//因为是第一个handler,所以msg是ByteBufByteBuf bb = (ByteBuf) msg;int len = bb.readableBytes();byte[] bytes = new byte[len];bb.readBytes(bytes);String value = new String(bytes);System.out.println("channelRead值:" + value);//将一个String类型的字符串传递给第二个handlerctx.fireChannelRead(value);}

第二个handler

public class MyServerHandler2 implements ChannelInboundHandler {@Overridepublic void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {//msg是从handler1中传递过来的String类型字符串System.out.println(objName + ":channelRead,值:" + msg);ctx.fireChannelRead(msg);}

main方法

 public static void main(String[] args) throws InterruptedException {EventLoopGroup boosGroup = new NioEventLoopGroup();EventLoopGroup workerGroup = new NioEventLoopGroup();ServerBootstrap b = new ServerBootstrap();//此处new MyServerHandler1b.group(boosGroup, workerGroup).channel(NioServerSocketChannel.class).childHandler(new MyServerHandler1());ChannelFuture f = b.bind(9999).sync();f.channel().closeFuture().sync();

启动main方法,telnet命令,从键盘上按哪个字母,控制台就会打印哪个字母

Netty-3-服务端接受并打印telnet传递过来的字符串相关推荐

  1. android 上传文件用php程序在服务端接受(一)

    php服务端接受程序..file_up.php. <?php /* require_once('lib/session_config.php');require_once('lib/flydc. ...

  2. 微信个人号客服系统淘宝客发单机器人sdk服务端接口列表

    微信个人号客服系统淘宝客发单机器人sdk服务端接口列表 case HeartBeatReq: {// 客户端发送的心跳包heartBeatReqHandler.handleMsg(ctx, msgVo ...

  3. 安卓使用Socket发送中文,C语言服务端接收乱码问题解决方式

    今天用安卓通过Socket发送数据到电脑上使用C语言写的服务端,发送英文没有问题,可当把数据改变成中文时,服务端接收到的数据确是乱码. 突然想到.VS的预处理使用的是ANSI编码.而安卓网络数据都是U ...

  4. linux netty udp服务端,Netty实现UDP服务端

    ### 前言 在之前的文章我已经讲过了利用`Netty`实现`UDP`客户端,大家有兴趣的话,可以参看下面文章: [Netty实现UDP客户端](https://www.jianshu.com/p/5 ...

  5. Netty的服务端和客户端

    通过简单代码实现服务端与服务端 本文章只做简单学习交流,如工作需要,请合理配置搭建. 详细讲解在代码注释中.上货!!!! 1.引入包 pom.xml中引入 <dependency>< ...

  6. 移动端与PHP服务端接口通信流程设计(基础版)

    为什么80%的码农都做不了架构师?>>>    针对 --->非开放性平台 --->公司内部产品 接口特点汇总: 1.因为是非开放性的,所以所有的接口都是封闭的,只对公司 ...

  7. 原理剖析-Netty之服务端启动工作原理分析(上)

    一.大致介绍 1.Netty这个词,对于熟悉并发的童鞋一点都不陌生,它是一个异步事件驱动型的网络通信框架: 2.使用Netty不需要我们关注过多NIO的API操作,简简单单的使用即可,非常方便,开发门 ...

  8. java post流_Java后端HttpClient Post提交文件流 及服务端接收文件流

    客户端将文件转换为流发送: 依赖的包: org.apache.httpcomponents httpclient 4.4 org.apache.httpcomponents httpmime 4.4 ...

  9. 区域数据导入功能(在服务端接收上传文件)

    在服务端接收上传的文件 在Action中提供一个File类型的属性,名称和上传的文件输入框名称一致regionFile @Controller @Scope("prototype" ...

最新文章

  1. Python面试之 is 和 == 的区别
  2. python正则表达式匹配模式屠夫之桥_Python 编程快速上手 第 7章 模式匹配与正则表达式...
  3. Kaggle竞赛方案分享:如何分辨杂草和植物幼苗(转)
  4. customizing download debug - extraction in ERP
  5. [EDA] 给出一个状态机,请把它的组合进程分为2个,分别命名为COM1和COM2,其中:COM1实现对外的控制信号输出,COM2实现状态译码。
  6. fe文件服务器,FE File Explorer
  7. js 图片压缩上传(base64位)以及上传类型分类
  8. python读取git日志_使用python分析git log日志示例
  9. AD19妙用SHIFT+S查找没连的线
  10. 静态方法和属性可以被继承吗?
  11. paip.FTP服务端及客户端的使用总结
  12. UNIX系统V(System V)
  13. 富士通推出区块链技术驱动的数据存储系统(GBCAX)
  14. 团购网站大缩水:5058家团购网站 只剩176家
  15. 您可能是盗版软件的受害者——解决办法
  16. 10大动图:秒懂各种常用通信协议原理
  17. 什么软件可以支持视频转换成文字?
  18. 围城如社会,故事如生活
  19. C语言在坐标轴上输出曲线,C语言打印正弦曲线、直线、圆等等
  20. 变分法求解两点间直线距离最短

热门文章

  1. mysql 行转列 显示_mysql 行转列 (结果集以坐标显示)
  2. TraceEventsDB event(跟踪事件)总结
  3. linux oracle显示乱码,Linux下oracle显示乱码解决
  4. python装饰器应用_Python装饰器实现方法及应用场景详解
  5. centos7.8离线安装gcc
  6. CentOS7安装wxWidgets错误解决
  7. @Component注解的用法
  8. RabbitMQ三种Exchange模式(fanout,direct,topic)的性能比较(转)
  9. Linux升级php
  10. 普通函数的调用和函数指针的回调