第二篇:第一个Netty程序.pdf

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Netty In Action 文版 - 第二章 :第一个Netty程序 目录(?) [-] 1. 设置开发环境 2. Netty客户端和服务器概述 3. 编写一个应答服务器 1. 启动服务器 2. 实现服务器业务逻辑 3. 捕获异常 4. 编写应答程序的客户端 1. 引导客户端 2. 实现客户端的业务逻辑 5. 编译和运行echo应答程序客户端和服务器 6. 总结 本章介绍 获取Netty4最新版本 设置运行环境来构建和运行netty程序 创建一个基于Netty 的服务器和客户端 拦截和处理异常 编写和运行Netty服务器和客户端 本章将简单介绍Netty 的核心概念,这个狠心概念就是学习Netty是如何拦截和处理异常,对于刚开始学习netty 的读者,利用netty 的异常拦截机制 来调试程序问题很有帮助。本章还 介绍其他一些核心概念,如服务器和客户端的启动以及分离通道的处理程序。本章学习一些基础以便后面章节的 深入学习。本章中将编写一个基于netty 的服务器和客户端来互相通信,我们首先来设置netty 的开发环境。 2.1 置开发环境 设置开发环境的步骤如下: 安装JDK7,下载地址/technetwork/java/javase/archive-1392 10.html 下载netty包,下载地址http:// netty.io/ 安装Eclipse 《Netty In Action》中描述的比较多,没啥用,这里就不多说了。本系列博客将使用Netty4,需要JDK1.7+ 2.2 Netty客户端和服务器概述 本节将引导你构建一个完整的Netty服务器和客户端。一般情况下,你可能只关心编写服务器,如一个http服务器的客户端是浏览器。然后在这个 例子中,你若同时实现了服务器和客户端,你将 对他们的原理更加清晰。 一个Netty程序的工作图如下 1. 客户端连接到服务器 2. 建立连接后,发送或接收数据 3. 服务器处理所有的客户端连接 从上图中可以看出,服务器 写数据到客户端并且处理多个客户端的并发连接。从理论上来说,限制程序性能的因素只有系 资源和JVM 。为了 方便理解,这里举了个生活例子,在山谷或高山上大声喊,你 听见回声,回声是山返回的;在这个例子中,你是客户端,山是服务器。喊的行为就 类似于一个Netty客户端将数据发送到服务器,听到回声就类似于服务器将相同的数据返回给你,你离开山谷就断开了连接,但是你可以返回进行重连 服务器并且可以发送更多的数据。 虽然将相同的数据返回给客户端不是一个典型的例子,但是客户端和服务器之间数据的来来回回的传输和这个例子是一样的。本章的例子 证明 这一点,它们 越来越复杂。 接下来的几节将带着你完成基于Netty 的客户端和服务器的应答程序。 2.3 编写一个应答服务器 写一个Netty服务器主要由两部分组成: 配置服务器功能,如线程、端口 实现服务器处理程序,它包含业务逻辑,决定当有一个请求连接或接收数据时该做什么 2.3.1 启动服务器 通过创建ServerBootstrap对象来启动服务器,然后配置这个对象的相关选项,如端口、线程模式、事件循环,并且添加逻辑处理程序用来处理 业务逻辑(下面是个简单的应答服务器例子) [java] 01. package netty.example; 02. 03. import ty.bootstrap.ServerBootstrap; 04. import ty.channel.Channel; 05. import ty.channel.ChannelFuture; 06. import ty.channel.ChannelInitializer; 07. import ty.channel.EventLoopGroup; 08. import ty.channel.nio.NioEventLoopGroup; 09. import ty.channel.socket.nio.NioServerSocketChannel;

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档