Reactor Netty
menawarkan klien & server TCP
/ HTTP
/ UDP
/ QUIC
yang non-pemblokiran dan siap tekanan balik berdasarkan kerangka Netty
.
Reactor Netty
memerlukan Java 8 atau + untuk dijalankan.
Dengan Gradle
dari repositori repo.spring.io atau Maven Central
(hanya rilis stabil):
repositories {
// maven { url 'https://repo.spring.io/snapshot' }
maven { url ' https://repo.spring.io/milestone ' }
mavenCentral()
}
dependencies {
// compile "io.projectreactor.netty:reactor-netty-core:1.2.2-SNAPSHOT"
compile " io.projectreactor.netty:reactor-netty-core:1.2.1 "
// compile "io.projectreactor.netty:reactor-netty-http:1.2.2-SNAPSHOT"
compile " io.projectreactor.netty:reactor-netty-http:1.2.1 "
}
Lihat dokumentasi Referensi untuk informasi selengkapnya tentang cara mendapatkannya (misalnya menggunakan Maven
, atau cara mendapatkan pencapaian dan snapshot).
Baru mengenal Reactor Netty
? Periksa Lokakarya Netty Reaktor ini dan dokumentasi Referensi
Berikut adalah server HTTP
yang sangat sederhana dan contoh klien HTTP
yang sesuai
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 ();
Mengalami masalah dengan Reactor Netty
? Kami ingin membantu!
reactor-netty
. Anda juga dapat mengobrol dengan komunitas di Gitter.Reactor Netty
di github.com/reactor/reactor-netty/issues. Reactor Netty
menggunakan sistem pelacakan masalah terintegrasi GitHub's
untuk mencatat bug dan permintaan fitur. Jika Anda ingin mengangkat suatu masalah, silakan ikuti rekomendasi di bawah ini:
Reactor Netty
yang Anda gunakan, serta Operating System
dan versi JVM
Anda. Lihat Panduan Berkontribusi kami untuk informasi tentang berkontribusi pada Reactor Netty
.
Anda tidak perlu membangun dari sumber untuk menggunakan Reactor Netty
(biner di repo.spring.io), tetapi jika Anda ingin mencoba yang terbaru dan terhebat, Reactor Netty
dapat dengan mudah dibuat dengan gradle wrapper. Anda juga membutuhkan JDK 1.8.
$ git clone https://github.com/reactor/reactor-netty.git
$ cd reactor-netty
$ ./gradlew build
Jika Anda ingin mempublikasikan artefak ke repositori Maven
lokal Anda, gunakan:
$ ./gradlew publishToMavenLocal
https://projectreactor.io/docs/netty/release/api/
Reactor Netty
adalah Perangkat Lunak Sumber Terbuka yang dirilis di bawah Lisensi Apache 2.0