Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/netty/netty
Netty project - an event-driven asynchronous network application framework
https://github.com/netty/netty
Last synced: 7 days ago
JSON representation
Netty project - an event-driven asynchronous network application framework
- Host: GitHub
- URL: https://github.com/netty/netty
- Owner: netty
- License: apache-2.0
- Created: 2010-11-09T09:22:21.000Z (almost 14 years ago)
- Default Branch: 4.1
- Last Pushed: 2024-05-01T11:18:55.000Z (6 months ago)
- Last Synced: 2024-05-01T11:44:41.110Z (6 months ago)
- Language: Java
- Homepage: http://netty.io
- Size: 85 MB
- Stars: 32,797
- Watchers: 1,755
- Forks: 15,728
- Open Issues: 595
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE.txt
Awesome Lists containing this project
- awesome - netty/netty - Netty project - an event-driven asynchronous network application framework (Java)
- StarryDivineSky - netty/netty
- my-awesome - netty/netty - 10 star:33.4k fork:15.9k Netty project - an event-driven asynchronous network application framework (Java)
README
![Build project](https://github.com/netty/netty/workflows/Build%20project/badge.svg)
# Netty Project
Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients.
## Links
* [Web Site](https://netty.io/)
* [Downloads](https://netty.io/downloads.html)
* [Documentation](https://netty.io/wiki/)
* [@netty_project](https://twitter.com/netty_project)
* [Official Discord server](https://discord.gg/q4aQ2XjaCa)## How to build
For the detailed information about building and developing Netty, please visit [the developer guide](https://netty.io/wiki/developer-guide.html). This page only gives very basic information.
You require the following to build Netty:
* Latest stable [OpenJDK 8](https://adoptium.net/)
* Latest stable [Apache Maven](https://maven.apache.org/)
* If you are on Linux or MacOS, you need [additional development packages](https://netty.io/wiki/native-transports.html) installed on your system, because you'll build the native transport.Note that this is build-time requirement. JDK 5 (for 3.x) or 6 (for 4.0+ / 4.1+) is enough to run your Netty-based application.
## Branches to look
Development of all versions takes place in each branch whose name is identical to `.`. For example, the development of 3.9 and 4.1 resides in [the branch '3.9'](https://github.com/netty/netty/tree/3.9) and [the branch '4.1'](https://github.com/netty/netty/tree/4.1) respectively.
## Usage with JDK 9+
Netty can be used in modular JDK9+ applications as a collection of automatic modules. The module names follow the
reverse-DNS style, and are derived from subproject names rather than root packages due to historical reasons. They
are listed below:* `io.netty.all`
* `io.netty.buffer`
* `io.netty.codec`
* `io.netty.codec.dns`
* `io.netty.codec.haproxy`
* `io.netty.codec.http`
* `io.netty.codec.http2`
* `io.netty.codec.memcache`
* `io.netty.codec.mqtt`
* `io.netty.codec.redis`
* `io.netty.codec.smtp`
* `io.netty.codec.socks`
* `io.netty.codec.stomp`
* `io.netty.codec.xml`
* `io.netty.common`
* `io.netty.handler`
* `io.netty.handler.proxy`
* `io.netty.resolver`
* `io.netty.resolver.dns`
* `io.netty.transport`
* `io.netty.transport.epoll` (`native` omitted - reserved keyword in Java)
* `io.netty.transport.kqueue` (`native` omitted - reserved keyword in Java)
* `io.netty.transport.unix.common` (`native` omitted - reserved keyword in Java)
* `io.netty.transport.rxtx`
* `io.netty.transport.sctp`
* `io.netty.transport.udt`Automatic modules do not provide any means to declare dependencies, so you need to list each used module separately
in your `module-info` file.