Netty框架是基于事件机制的,简单说,就是发生什么事,就找相关处理方法。
依赖的pom
<dependency> <groupId>io.netty</groupId> <artifactId>netty</artifactId> <version>3.9.0.Final</version> </dependency>
服务器端
package com.netty; import org.jboss.netty.bootstrap.ServerBootstrap; import org.jboss.netty.channel.*; import org.jboss.netty.channel.socket.nio.NioServerSocketChannelFactory; import java.net.InetSocketAddress; import java.util.concurrent.Executors; /** * Created by IntelliJ IDEA. * User: wan * Date: 14-2-23 * Time: 下午1:34 */ public class HelloServer { public static void main(String args[])throws Exception{ // Server服务启动器 ServerBootstrap bootstrap = new ServerBootstrap( new NioServerSocketChannelFactory( Executors.newCachedThreadPool(), Executors.newCachedThreadPool())); // 设置一个处理客户端消息和各种消息事件的类(Handler) bootstrap .setPipelineFactory(new ChannelPipelineFactory() { @Override public ChannelPipeline getPipeline() throws Exception { return Channels.pipeline(new HelloServerHandler()); } }); // 开放8000端口供客户端访问。 bootstrap.bind(new InetSocketAddress(8000)); } private static class HelloServerHandler extends SimpleChannelHandler { /** * 当有客户端绑定到服务端的时候触发,打印"Hello world, I'm server." * * @alia OneCoder * @author lihzh */ @Override public void channelConnected( ChannelHandlerContext ctx, ChannelStateEvent e) { System.out.println("Hello world, I'm server."); } } }
客户端
package com.netty; import org.jboss.netty.bootstrap.ClientBootstrap; import org.jboss.netty.channel.*; import org.jboss.netty.channel.socket.nio.NioClientSocketChannelFactory; import java.net.InetSocketAddress; import java.util.concurrent.Executors; /** * Created by IntelliJ IDEA. * User: wan * Date: 14-2-23 * Time: 下午1:59 */ public class HelloClient { public static void main(String args[]) { // Client服务启动器 ClientBootstrap bootstrap = new ClientBootstrap( new NioClientSocketChannelFactory( Executors.newCachedThreadPool(), Executors.newCachedThreadPool())); // 设置一个处理服务端消息和各种消息事件的类(Handler) bootstrap.setPipelineFactory(new ChannelPipelineFactory() { @Override public ChannelPipeline getPipeline() throws Exception { return Channels.pipeline(new HelloClientHandler()); } }); // 连接到本地的8000端口的服务端 bootstrap.connect(new InetSocketAddress("127.0.0.1", 8000)); } private static class HelloClientHandler extends SimpleChannelHandler { /** * 当绑定到服务端的时候触发,打印"Hello world, I'm client." * * @alia OneCoder * @author lihzh */ @Override public void channelConnected(ChannelHandlerContext ctx, ChannelStateEvent e) { System.out.println("Hello world, I'm client."); } } }
相关推荐
Netty之helloworld示列,客户端,服务器示列代码,欢迎初学者学习。
netty4.x的hello world 范例,可以运行,直接导入工程,需要依赖包netty-all-4.0.25.final.jar,可以去MAVEN仓库下载或者百度下载。
Netty入门,HelloWorld Demo 以及实现了心跳机制的HeartBeat Demo
Netty在IDEA中搭建HelloWorld服务端并对Netty执行流程与重要组件进行介绍示例代码;Netty在IDEA中搭建HelloWorld服务端并对Netty执行流程与重要组件进行介绍示例代码
1.netty入门 -- netty-helloworld 2.netty的粘包 - netty-stick 3.netty支持的各协议,包含messagepack、protobuf以及私有协议 - netty-protocol 4.netty开发httpserver服务 - netty-httpserver 5.netty开发...
近百节视频详细讲解,需要的小伙伴自行百度网盘下载,链接见附件,永久有效...2. Hello World 3. 组件 4. 双向通信 三. Netty 进阶 1. 粘包与半包 2. 协议设计与解析 3. 聊天室案例 四. 优化与源码 1. 优化 2. 源码分析
netty android收发消息的hello World ,代码包含android客户端(studio)和服务端,简单实现收发消息交互
:OK_hand: :netty-helloworld b。 『基础-通讯协议篇』 :OK_hand: :netty-http :OK_hand: netty-springboot-protobuf :OK_hand: netty-mqtt C。 『中级-数据传输篇』 Netty碰上关系型数据库 :monkey: ...
cassandra-netty-rest-simple 集成了Cassandra,Netty和JBoss RESTEasy的简单应用程序。 它提供了一个Hello World REST Web服务,可以通过。 调用服务时,它将Person的实例持久化到名为DEMO的Cassandra键空间中。
01、Mina服务端helloWorld入门.flv 02、Mina客户端helloWorld入门.flv 03、Mina整体体系结构分析.flv 04、Mina学习之长短连接.flv 05、Mina学习之MinaIOService接口.flv 06、Mina学习之MinaIOFilter接口.flv ...
《Netty 实战》 Netty In Action 中文版 代码清单已经更新到 Netty 4.1.11.final ...以及 Netty 源码本身,可以系统地学习一下 Java 网络编程、 NIO、并发和异步编程以及相关的 设计模式。 说明 这个仓库
netty开发入门,包含hello world,Server与Client通讯。
Test http://localhost:8082/resteasy/hello/world 教程 jax-rs规范用法: http://www.vogella.com/tutorials/REST/article.html resteasy 教程: http://code.freedomho.com/9541.html 名次解释 RESTEasy:RESTEasy...
netty-example 使用Netty的示例Web服务器,受启发例子 public class App { public static void main ( final String [] args ) throws Exception { new WebServer () // Simple GET request .get( " /hello " , ...
NettyHttp服务器基于Netty框架的简单Http Server Netty Framework 版本 4.0.26.Final 已使用(稳定来自 maven repo) -request 在 10 秒内显示“Hello World”。 -request 重定向到 。 -request 显示有关连接、请求...
netty-examples是基于netty4开发的应用实例:rpc server和client的实现Netty4Client简化netty client的应用,实现自动重连功能RPC HelloWorld 实例服务实现public interface HelloWorld {public Result queryUser...
Kotlin Multiplatform的完整堆栈Hello World 项目结构 该项目由几个gradle模块以及一个xcode项目组成。 它是使用Intellij IDEA开发的,但可能也可以在Android Studio中使用。 共享 这是服务器和客户端中都包含的中央...
springBoot研究springBoot-study是本人在学习SpringBoot的一些工程!...工程说明 :SpringBoot的Hello World版本。启动程序,然后在浏览器输入http://localhost:8080//hello ,即可查看相关信息。 :SpringBo
参考《Netty权威指南》实现私有协议栈功能,因为完全参照书上的写法会走一点弯路,所以这里把自己补充好、并且测试通过的功能代码上传给大家参考下。实现功能包括了编解码、登录权限、心跳包
框架需要在netty框架( )上实现一个http服务器,功能如下: 根据对请求在 10 秒后给出“Hello World” 根据对请求,重定向到指定的 url 根据对请求统计信息: 请求总数唯一请求的数量(每个 IP 一个) 每个 IP 的...