`

netty服务端入门

阅读更多
nio框架:netty

//1、启动Server,输入telnet命令:telnet localhost 8088,再输入任意字符
//为什么我-次只能发送一个字节?
public class NettyServer {
private int port=8088;

public static void main(String[] args) {
NettyServer server = new NettyServer();
server.run();
}

void run() {
EventLoopGroup bossGroup = new NioEventLoopGroup(1);
EventLoopGroup workerGroup = new NioEventLoopGroup();
try {
ServerBootstrap b = new ServerBootstrap();
b.group(bossGroup, workerGroup)
.channel(NioServerSocketChannel.class)
.childHandler(new ChannelInitializer<SocketChannel>() {
public void initChannel(SocketChannel ch) {
ch.pipeline().addLast(new SeverHandler());
}}
).option(ChannelOption.SO_BACKLOG, 128)
.childOption(ChannelOption.SO_KEEPALIVE, true);
ChannelFuture f = b.bind(port).sync();
f.channel().closeFuture().sync();
}catch(Exception e) {
e.printStackTrace();
}finally {
bossGroup.shutdownGracefully();
workerGroup.shutdownGracefully();
}
}
}

public class SeverHandler extends ChannelInboundHandlerAdapter {

public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
ByteBuf in = (ByteBuf)msg;
try {
while(in.isReadable()) {
System.out.println((char)in.readByte());
System.out.flush();
}
}finally {
ReferenceCountUtil.release(msg);
}
}

public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception {
cause.printStackTrace();
ctx.close();
}
}
0
0
分享到:
评论

相关推荐

    Netty 快速入门系列-源码

    Netty快速入门系列源码, 参考 https://blog.csdn.net/netcobol Netty是一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。 Netty是...

    Netty5入门3个简单例子

    Netty5入门3个简单例子,让你快速入门,一个服务端、客户端,以及一个参考的网站地址;Netty5是个优秀稳定高效的java服务器框架,特别适用于java游戏服务器快速开发!

    netty入门Demo源码

    Netty服务端与客户端,数据的发送与接收 使用:先运行TimeServer,在运行TimeClient。成功连接后,服务器发送一个时间给客户端。输出到客户端控制台 4.第三个示例 com.user_1 Netty将java对象作为数据的发送与...

    netty4服务端客户端实例

    通过netty4实现的简单的服务端与客户端的源代码,采用IntelliJ IDEA 2018.1.3开发工具,该例子可以帮助你入门netty框架。

    WebSocket利用netty连接入门项目

    java作为服务端,websocket利用netty做连接,解压之后内有html前端,把项目导入eclipse,在main方法启动即可使用。

    netty入门示例工程

    本工程采用maven+netty4.1.0+PrefixedStringDecoder+json技术,包括客户端和服务端。先运行服务端SampleServer,再去等客户端SampleClient。示例中发的是心跳包,其中消息格式定义为msgType + msgNo + content(json...

    Netty 入门与实战:仿写微信 IM 即时通讯系统.rar

    Netty 入门与实战:仿写微信 IM 即时通讯系统,掘金小册子,netty教程。章节齐全无缺失,排版非常不错。 1.仿微信IM系统简介 1 2.Netty是什么? 2 3.服务端启动流程 8 4.客户端启动流程 11 5.实战:客户端与服务端双向...

    netty4简单客户端和服务端01.zip

    netty4入门级,简单客户端和服务端,可以与之前上传的netty3对比学习

    Netty3客户端服务端hi allen.zip

    netty3简单的客户端和服务端,入门级帮助解决刚接触netty3的码友

    Netty网络框架客户端和服务端通讯示例代码

    本人很久没有上CSDN逛了,因为自从2012开始转入手机游戏开发行业之后,就没有时间上CSDN社区了。嘿嘿,还有好这么年过去了,偶居然还有...制作这个示例只是为给别人帮个忙而已,然后就可以带你入门,最后你自己飞^_^

    netty源码分析之服务端启动全解析

    netty基本使用以及入门资料,具有netty的源码的分析以及服务器启动过程的介绍

    Java视频教程 Java游戏服务器端开发 Netty NIO AIO Mina视频教程

    02、第二课netty服务端 03、第三课netty客户端 04、第四课netty线程模型源码分析(一) 05、第五课netty线程模型源码分析(二) 06、第六课netty5案例学习 07、第七课netty学习之心跳 08、第八课protocol buff学习...

    用Netty5写一个简单的服务端和客户端.rar

    用Netty5写一个简单的服务端和客户端,通过这个示例可以起到快速入门的效果,下载完成后,可运行4_Netty5_Hello模块代码,其中包括客户端单连接和多连接的例子

    netty权威指南第2版

    第3章 Netty入门应用 第4章 TCP粘包/拆包问题解析之道 第5章 分隔符和定长解析码器的应用 第6章 编码技术 第7章 MessagePack 编解码 第8章 Google Protobuf编解码 第9章 JBoss Marshalling 编解码 第10章 HTTP协议...

    netty简易时间和操作系统查询服务器源码

    根据网上和书籍的netty入门例子,编写一个具有交互功能的netty时间和系统版本通信通信框架,源码中包括服务端和客户端两个部分,对netty初学者有一定的指导作用。

    高清Netty5.0架构剖析和源码解读

    业界主流的NIO框架介绍10 2.NIO入门10 2.1. NIO服务端10 2.2. NIO客户端13 3.Netty源码分析16 3.1. 服务端创建16 3.1.1. 服务端启动辅助类ServerBootstrap16 3.1.2. NioServerSocketChannel 的注册21 3.1.3. 新的...

    Netty权威指南(第2版)(李林峰)-书签目录-完整版.zip

    第3 章 Netty 入门应用...... 66 第4 章 TCP 粘包/拆包问题的解决之道...... 79 第5 章 分隔符和定长解码器的应用...... 93 第6 章 编解码技术...... 106 第7 章 MessagePack 编解码....

    从NIO到Netty,编程实战出租车905协议-08172347.pdf

    905.4-2014协议,是交通运输部公路科学研究院起草定制的一个协议标准,它也是基于TCP之上的一个应用层传输协议。 第2章,介绍在Socket编程过程中一些基础知识,让大家建立起对这块知识...想通过实战入门NIO、Netty。

    基于Netty4实现的UDP双向通信源码

    本源码是《NIO框架入门(三):iOS与MINA2、Netty4的跨平台UDP双向通信实战》一文的服务端源码实现(Netty4版),详见:http://www.52im.net/thread-378-1-1.html

    netty5.0 jar包 官方例子_改 中文手册

    感觉netty5.0 的例子 网上好少..要么照搬官方例子..要么就是老版本的过期..自己也是刚入门,找资料做了个例子 客户端与服务端通讯

Global site tag (gtag.js) - Google Analytics