Original address: http://www.jboss.org/file-access/default/members/netty/freezone/guide/3.1/html_single/index.html
Netty 3.1 Chinese User manual (i)-preface
Netty 3.1 Chinese User manual (二)-Start
Netty 3.1 Chinese User manual (iii)-Overview of the architecture
The netty Project 3.1 User Guide
The Proven approach to Rapid Network application Development
3.1.5.GA, r1772
Preamble 1
1. Question 1
2. Programme 2
The first chapter. Start 2
1.1. Before the start 3
1.2. Abandonment of the Protocol service 3
1.3. View received Data 5
1.4. Response Protocol Service 6
1.5. Time Protocol Service 7
1.6. Time Protocol Service Client 9
1.7. Flow data transmission Processing 11
Defects in 1.7.1 Socket buffer 11
1.7.2. The first Scenario 11
1.7.3. The second option 13
1.8. Use Pojo instead of Channelbuffer 15
1.9. Close your application 18
1.10. General statement 21
Chapter Two. Architecture Overview 22
2.1. Rich buffer to achieve 22
2.2. Unified asynchronous I/O API 22
2.3. Event model based on intercepting chain mode 23
2.4. Applicable to the rapid development of advanced components 24
2.4.1. Codec Framework 24
2.4.2. SSL/TLS Support 25
2.4.3. HTTP Implementation 25
2.4.4. Google Protocol Buffer Consolidation 25
2.5. General Statement 26
Preface
This guide introduces the Netty and points out its significance.
1. The question
We now use applications or components that are suitable for general purposes to communicate with each other. For example, we often use an HTTP client to get information from a remote server or to make a remote method call through Web services.
However, a protocol suited to a common purpose or its implementation does not have the extensibility of its size. For example, we cannot use a common HTTP server for large files, email information, or to process financial information and multiplayer game data that require quasi real-time messaging. Therefore, these require a highly optimized protocol implementation that is suitable for a particular purpose. For example, you might want to implement an HTTP server that is specially optimized for AJAX based chat applications, media streaming or large file transfers. You may even want to design and implement a new communication protocol that is specific to your needs.
Another unavoidable scenario is that you may have to interact with an existing system using a proprietary protocol. In this case, you need to consider how to quickly develop the implementation of this protocol without sacrificing the performance and stability of the final application.
2. The Programme
netty is an asynchronous, event-driven Network programming framework and tool that enables rapid development of maintainable, high-performance, highly scalable protocol services and their client applications using netty .
That is,,netty is a customer based on NIO, a server-side programming framework that uses netty to ensure that you quickly and easily develop a network application, such as a client that implements some kind of protocol, a service-side application. Netty fairly simplifies and streamlines the programming of network applications, such as the development of socket services for TCP and UDP.
"Fast" and "simple" do not mean that your final application will have a maintenance or performance problem. netty is an implementation experience that absorbs a variety of protocols, including Ftp,smpt,http, various binary, text protocols, and after quite well-designed projects, eventually,netty successfully found a way to While ensuring easy development, it also ensures the performance, stability and scalability of its applications.
Some users may have found some programming frameworks that also claim to have these features, so you might want to ask netty what's different. The answer to this question is the design philosophy of the netty project. From the outset, both in the API and in its implementation, netty is committed to providing you with the most comfortable experience. While this is not obvious, you will eventually realize that this philosophy of design makes it easier and easier to read this guide and use netty .