不灭的焱

革命尚未成功,同志仍须努力

作者:php-note.com  发布于:2018-09-23 19:31  分类:Java库/系统 

这个章节包括(分两次翻译

 

  1)搭建你的开发环境

  2)编写一个HelloWorld的Netty服务器端和客户端

  3)构建和测试你的应用

 

在这个章节,我们将向你展示如果构建一个基于Netty的客户端和服务端,编写的例子很简单------客户端发送信息到服务器端,服务器端将信息原样返回,这个实战例子很重要,这这么两个原因:

 1)这个例子首先需要搭建你的开发环境,并且验证你的开发环境是否可用,当然,如果你打算我们列举的例子应用到你的项目之中做好准备,这也是很重要的

 2)你将获取亲手实践Netty的经验,感受前一章节我们讲述的:用ChannelHandlers去构建你的逻辑应用,这将为你在第三章的深入学习Netty打好良好的基础

 

2.1 Setting up the development environment

 

为了运行或者编译本书的例子,你只需要两样工具JDK和Apache Maven,很幸运,这两个工具都是可以免费下载的

 

我们假设你想将我们提供的示例代码捣鼓捣鼓运用到你自己的应用中去的话,我们还是强力建议你使用Java的IDE去开发Netty,尽管你可以笔记本去开发

 

2.1.1 Obtaining and installing the Java Development Kit

 

你的操作系统也许已经安装了JDK,用以下的命令行找出你使用的JDK的版本

如果显示你的计算机已经安装了JDK1.7或者JDK1.8那么你可以直接跳过本小节,否则,你需要到http://java.com/en/download/manual.jsp去下载,注意请下载JDK(java开发工具)而不是下载JRE(java运行环境,这个可以运行java应用程序但却没有编译java程序的功能),每一个平台,每一个操作系统都会有一个对象安装包,如果你想要自己的计算机安装哪个版本的JDK,你依旧可以在同样的网址找到

 

如果按照下面的步骤去做会有一个很好的体验

 1)  设置好你的java环境变量(在window系统中,通常是是C:\Program Files\java\jdk1.8_60)

 2)  在linux系统中添加 %JAVA_HOME%\bin (${JAVA_HOME}/bin到你的执行路径

 

2.1.2 Downloading and installing an IDE

 

下面是几个我们平时比较常见且免费的java的IDE

 

上面的三个IDE都是支持我们即将使用的构建工具Maven的,Netbeans和Intellij是被作为可执行文件发布给用户的,Eclipse是以zip格式发布的,里面已经默认安装了一些插件

 

2.1.3 Downloading and installing Apache Maven

 

如果你已经很熟悉了Maven了,我们建议你跳过这个小节

 

Maven是由Apache软件基金会开发的构建管理工具,Netty项目也是使用的Maven,但是编译或者运行本书的例子,你不需要先成为一个Maven专家,但是如果你想扩展或者深入这些例子的话,我们建议你看下附录中关于Maven的简介

 

截止到本书的出版,Maven的最新版本是3.3.3.你可以从http://maven.apache.org/download.cgi网站里下载你需要的Maven包,安装很简单,解压下载包到你指定的文件夹,它会自动创建apache-maven-3.3.3文件夹

 

与java安装一样需要设置环境变量

1)设置环境变量M2_HOME指向你的安装路径

2)linux环境下,添加%M2_HOME%\bin (or ${M2_HOME}/bin到你的可执行路径下就可以了

 

如果安装完毕,可以在命令行中敲入:mvn,查看是否安装成功

 

2.1.4 Configuring the toolset

 

如果你已经按照我们推荐的方式安装好了Java和Maven那么当你启动你的IDE的时候,可能IDE已经发现了你的java和maven安装路径,如果你想手动变更一下默认的配置的话,我们列举的IDE都是支持的,你可以在Perferences or Settings下设置你的变量信息,详细的请看具体的专业文档

 

配置好了你的开发环境,下一个小节,我们将向你展示第一个Netty应用的实现细节,然后我们深入Netty的API,最后我们将用我们刚才安装的工具去编译运行我们的第一个Netty服务器和服务器

 

 

摘自:https://blog.csdn.net/linuu/article/details/51083174