
- 296 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
eBook - ePub
Netty in Action
About this book
Summary
Netty in Action introduces the Netty framework and shows you how to incorporate it into your Java network applications. You'll learn to write highly scalable applications without the need to dive into the low-level non-blocking APIs at the core of Java.
About the Technology
Netty is a Java-based networking framework that manages complex networking, multithreading, and concurrency for your applications. And Netty hides the boilerplate and low-level code, keeping your business logic separate and easier to reuse. With Netty, you get an easy-to-use API, leaving you free to focus on what's unique to your application.
About the Book
Netty in Action introduces the Netty framework and shows you how to incorporate it into your Java network applications. You will discover how to write highly scalable applications without getting into low-level APIs. The book teaches you to think in an asynchronous way as you work through its many hands-on examples and helps you master the best practices of building large-scale network apps.
What's Inside
About the Reader
This book assumes readers are comfortable with Java and basic network architecture.
About the Authors
Norman Maurer is a senior software engineer at Apple and a core developer of Netty. Marvin Wolfthal is a Dell Services consultant who has implemented mission-critical enterprise systems using Netty.
Table of Contents
Netty in Action introduces the Netty framework and shows you how to incorporate it into your Java network applications. You'll learn to write highly scalable applications without the need to dive into the low-level non-blocking APIs at the core of Java.
About the Technology
Netty is a Java-based networking framework that manages complex networking, multithreading, and concurrency for your applications. And Netty hides the boilerplate and low-level code, keeping your business logic separate and easier to reuse. With Netty, you get an easy-to-use API, leaving you free to focus on what's unique to your application.
About the Book
Netty in Action introduces the Netty framework and shows you how to incorporate it into your Java network applications. You will discover how to write highly scalable applications without getting into low-level APIs. The book teaches you to think in an asynchronous way as you work through its many hands-on examples and helps you master the best practices of building large-scale network apps.
What's Inside
- Netty from the ground up
- Asynchronous, event-driven programming
- Implementing services using different protocols
- Covers Netty 4.x
About the Reader
This book assumes readers are comfortable with Java and basic network architecture.
About the Authors
Norman Maurer is a senior software engineer at Apple and a core developer of Netty. Marvin Wolfthal is a Dell Services consultant who has implemented mission-critical enterprise systems using Netty.
Table of Contents
- Netty-asynchronous and event-driven
- Your first Netty application
- Netty components and design
- Transports
- ByteBuf
- ChannelHandler and ChannelPipeline
- EventLoop and threading model
- Bootstrapping
- Unit testing
- The codec framework
- Provided ChannelHandlers and codecs
- PART 3 NETWORK PROTOCOLS
- WebSocket
- Broadcasting events with UDP
- Case studies, part 1
- Case studies, part 2
Frequently asked questions
Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription.
No, books cannot be downloaded as external files, such as PDFs, for use outside of Perlego. However, you can download books within the Perlego app for offline reading on mobile or tablet. Learn more here.
Perlego offers two plans: Essential and Complete
- Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
- Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, weâve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes! You can use the Perlego app on both iOS or Android devices to read anytime, anywhere â even offline. Perfect for commutes or when youâre on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Yes, you can access Netty in Action by Norman Maurer,Marvin Wolfthal in PDF and/or ePUB format, as well as other popular books in Computer Science & Client-Server Computing. We have over one million books available in our catalogue for you to explore.
Information
Part 1. Netty concepts and architecture
Netty is an advanced framework for creating high-performance networking applications. In part 1 weâll explore its capabilities in depth and demonstrate three main points:
- You donât have to be a networking expert to build applications with Netty.
- Using Netty is much easier than using the underlying Java APIs directly.
- Netty promotes good design practices, such as keeping your application logic decoupled from the network layer.
In chapter 1, weâll begin with a summary of the evolution of Java networking. After weâve reviewed the basic concepts of asynchronous communications and event-driven processing weâll take a first look at Nettyâs core components. Youâll be ready to build your first Netty application in chapter 2! In chapter 3 youâll begin your detailed exploration of Netty, from its core network protocols (chapter 4) and data-handling layers (chapters 5â6) to its concurrency model (chapter 7).
Weâll conclude part 1 by putting all the pieces together, and youâll see how to configure the components of a Netty-based application to work together at runtime (chapter 8) and finally, how Netty helps you to test your applications (chapter 9).
Chapter 1. Nettyâasynchronous and event-driven
This chapter covers
- Networking in Java
- Introducing Netty
- Nettyâs core components
Suppose youâre just starting on a new mission-critical application for a large, important company. In the first meeting you learn that the system must scale up to 150,000 concurrent users with no loss of performance. All eyes are on you. What do you say?
If you can say with confidence, âSure, no problem,â then hats off to you. But most of us would probably take a more cautious position, like: âSounds doable.â Then, as soon as we could get to a computer, weâd search for âhigh performance Java networking.â
If you run this search today, among the first results youâll see this:
Netty: Home
netty.io/
Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients.
If you discovered Netty this way, as many have, your next steps were probably to browse the site, download the code, peruse the Javadocs and a few blogs, and start hacking. If you already had solid network programming experience, you probably made good progress; otherwise, perhaps not.
Why? High-performance systems like the one in our example require more than first-class coding skills; they demand expertise in several complex areas: networking, multithreading, and concurrency. Netty captures this domain knowledge in a form that can be used even by networking neophytes. But up to now, the lack of a comprehensive guide has made the learning process far more difficult than need beâhence this book.
Our primary goal in writing it has been to make Netty accessible to the broadest possible range of developers. This includes many who have innovative content or services to offer but neither the time nor inclination to become networking specialists. If this applies to you, we believe youâll be pleasantly surprised at how quickly youâll be ready to create your first Netty application. At the other end of the spectrum, we aim to support advanced practitioners who are seeking tools for creating their own network protocols.
Netty does indeed provide an extremely rich networking toolkit, and weâll spend most of our time exploring its capabilities. But Netty is ultimately a framework, and its architectural approach and design principles are every bit as important as its technical content. Accordingly, weâll be talking about points such as
- Separation of concerns (decoupling business and network logic)
- Modularity and reusability
- Testability as a first-order requirement
In this first chapter, weâll begin with background on high-performance networking, particularly its implementation in the Java Development Kit (JDK). With this context in place, weâll introduce Netty, its core concepts, and building blocks. By the end of the chapter, youâll be ready to tackle your first Netty-based client and server.
1.1. Networking in Java
Developers who started out in the early days of networking spent a lot of time learning the intricacies of the C language socket libraries and dealing with their quirks on different operating systems. The earliest versions of Java (1995â2002) introduced enough of an object-oriented façade to hide some of the thornier details, but creating a complex client/server protocol still required a lot of boilerplate code (and a fair amount of peeking under the hood to get it all working smoothly).
Those first Java APIs (java.net) supported only the so-called blocking functions provided by the native system socket libraries. The following listing shows an unadorned example of server code using these calls.
Listing 1.1. Blocking I/O example

The previous listing implements one of the basic Socket API patterns. Here are the most important points:
...Table of contents
- Copyright
- Brief Table of Contents
- Table of Contents
- Foreword
- Preface
- Acknowledgments
- About this Book
- About the Cover Illustration
- Part 1. Netty concepts and architecture
- Part 2. Codecs
- Part 3. Network protocols
- Part 4. Case studies
- Appendix. Introduction to Maven
- Index
- List of Figures
- List of Tables
- List of Listings