reactor-netty

TCP/HTTP/UDP client/server with Reactor over Netty

Github星跟蹤圖







Reactor Netty

Join the chat at https://gitter.im/reactor/reactor-netty

Reactor Netty Download

Reactor Netty offers non-blocking and backpressure-ready TCP/HTTP/UDP
clients & servers based on Netty framework.

Getting it

Reactor Netty requires Java 8 or + to run.

With Gradle from repo.spring.io or Maven Central repositories (stable releases only):

    repositories {
      //maven { url 'https://repo.spring.io/snapshot' }
      maven { url 'https://repo.spring.io/release' }
      mavenCentral()
    }

    dependencies {
      //compile "io.projectreactor.netty:reactor-netty:1.0.0.BUILD-SNAPSHOT"
      compile "io.projectreactor.netty:reactor-netty:0.9.4.RELEASE"
    }

See the Reference documentation
for more information on getting it (eg. using Maven, or on how to get milestones and snapshots).

Getting Started

New to Reactor Netty? Check this Reactor Netty Workshop
and the Reference documentation

Here is a very simple HTTP server and the corresponding HTTP client example

HttpServer.create()   // Prepares an HTTP server ready for configuration
          .port(0)    // Configures the port number as zero, this will let the system pick up
                      // an ephemeral port when binding the server
          .route(routes ->
                      // The server will respond only on POST requests
                      // where the path starts with /test and then there is path parameter
                  routes.post("/test/{param}", (request, response) ->
                          response.sendString(request.receive()
                                                     .asString()
                                                     .map(s -> s + ' ' + request.param("param") + '!')
                                                     .log("http-server"))))
          .bindNow(); // Starts the server in a blocking fashion, and waits for it to finish its initialization
HttpClient.create()             // Prepares an HTTP client ready for configuration
          .port(server.port())  // Obtains the server's port and provides it as a port to which this
                                // client should connect
          .post()               // Specifies that POST method will be used
          .uri("/test/World")   // Specifies the path
          .send(ByteBufFlux.fromString(Flux.just("Hello")))  // Sends the request body
          .responseContent()    // Receives the response body
          .aggregate()
          .asString()
          .log("http-client")
          .block();

Getting help

Having trouble with Reactor Netty? We'd like to help!

Reporting Issues

Reactor Netty uses GitHub’s integrated issue tracking system to record bugs and feature requests.
If you want to raise an issue, please follow the recommendations below:

  • Before you log a bug, please search the issue tracker
    to see if someone has already reported the problem.
  • If the issue doesn't already exist, create a new issue.
  • Please provide as much information as possible with the issue report, we like to know
    the version of Reactor Netty that you are using, as well as your Operating System and
    JVM version.

Building from Source

You don't need to build from source to use Reactor Netty (binaries in
repo.spring.io), but if you want to try out the latest and
greatest, Reactor Netty can be easily built with the
gradle wrapper. You also need JDK 1.8.

$ git clone https://github.com/reactor/reactor-netty.git
$ cd reactor-netty
$ ./gradlew build

If you want to publish the artifacts to your local Maven repository use:

$ ./gradlew publishToMavenLocal

Javadoc

https://projectreactor.io/docs/netty/release/api/

Guides

License

Reactor Netty is Open Source Software released under the Apache License 2.0

Sponsored by Pivotal

主要指標

概覽
名稱與所有者reactor/reactor-netty
主編程語言Java
編程語言HTML (語言數: 3)
平台
許可證Apache License 2.0
所有者活动
創建於2016-08-18 20:58:56
推送於2025-05-20 09:49:02
最后一次提交
發布數195
最新版本名稱v1.3.0-M3 (發布於 2025-05-13 17:23:02)
第一版名稱v0.5.2.RELEASE (發布於 )
用户参与
星數2.7k
關注者數107
派生數672
提交數6.1k
已啟用問題?
問題數1367
打開的問題數42
拉請求數2047
打開的拉請求數8
關閉的拉請求數343
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?
Java

reactor-core

JVM的非阻塞 Reactive Foundation。(Non-Blocking Reactive Foundatio...
Java

Reactor

Reactor BOM 和 legacy (2.x, 1.x)。【Reactor BOM and legacy (2.x...