
Reactor Netty propose des clients et serveurs TCP / HTTP / UDP / QUIC non bloquants et prêts à contre-pression basés sur le framework Netty .
Reactor Netty nécessite Java 8 ou + pour fonctionner.
Avec Gradle à partir des référentiels repo.spring.io ou Maven Central (versions stables uniquement) :
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 "
} Consultez la documentation de référence pour plus d'informations sur la façon de l'obtenir (par exemple, en utilisant Maven ou sur la façon d'obtenir des jalons et des instantanés).
Nouveau sur Reactor Netty ? Consultez cet atelier Reactor Netty et la documentation de référence
Voici un serveur HTTP très simple et l'exemple de client HTTP correspondant
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 (); Vous rencontrez des problèmes avec Reactor Netty ? Nous aimerions vous aider !
reactor-netty . Vous pouvez également discuter avec la communauté sur Gitter.Reactor Netty sur github.com/reactor/reactor-netty/issues. Reactor Netty utilise le système de suivi des problèmes intégré GitHub's pour enregistrer les bogues et les demandes de fonctionnalités. Si vous souhaitez soulever un problème, veuillez suivre les recommandations ci-dessous :
Reactor Netty que vous utilisez, ainsi que votre Operating System et la version JVM . Consultez notre Guide de contribution pour plus d'informations sur la contribution à Reactor Netty .
Vous n'avez pas besoin de construire à partir des sources pour utiliser Reactor Netty (binaires dans repo.spring.io), mais si vous souhaitez essayer la dernière et la meilleure version, Reactor Netty peut être facilement construit avec le wrapper gradle. Vous avez également besoin du JDK 1.8.
$ git clone https://github.com/reactor/reactor-netty.git
$ cd reactor-netty
$ ./gradlew build Si vous souhaitez publier les artefacts dans votre référentiel Maven local, utilisez :
$ ./gradlew publishToMavenLocalhttps://projectreactor.io/docs/netty/release/api/
Reactor Netty est un logiciel Open Source publié sous la licence Apache 2.0