Reactor Netty
นำเสนอไคลเอ็นต์และเซิร์ฟเวอร์ TCP
/ HTTP
/ UDP
/ QUIC
ที่ไม่มีการบล็อกและพร้อมรับแรงดันย้อนกลับตามเฟรมเวิร์ก Netty
Reactor Netty
ต้องใช้ Java 8 หรือ + เพื่อทำงาน
ด้วย Gradle
จาก repo.spring.io หรือที่เก็บ Maven Central
(รุ่นเสถียรเท่านั้น):
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 "
}
ดูเอกสารอ้างอิงสำหรับข้อมูลเพิ่มเติมเกี่ยวกับการรับมัน (เช่น การใช้ Maven
หรือวิธีรับเหตุการณ์สำคัญและสแน็ปช็อต)
ยังใหม่กับ Reactor Netty
ใช่ไหม? ตรวจสอบเวิร์กช็อปเครื่องปฏิกรณ์ Netty นี้และเอกสารอ้างอิง
นี่คือเซิร์ฟเวอร์ HTTP
ที่เรียบง่ายและตัวอย่างไคลเอ็นต์ HTTP
ที่เกี่ยวข้อง
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 ();
มีปัญหากับ Reactor Netty
ใช่ไหม? เราอยากจะช่วย!
reactor-netty
คุณยังสามารถแชทกับชุมชนบน Gitter ได้อีกด้วยReactor Netty
ได้ที่ github.com/reactor/reactor-netty/issues Reactor Netty
ใช้ระบบติดตามปัญหาแบบผสานรวม GitHub's
เพื่อบันทึกจุดบกพร่องและคำขอคุณสมบัติ หากคุณต้องการแจ้งปัญหา โปรดปฏิบัติตามคำแนะนำด้านล่าง:
Reactor Netty
ที่คุณใช้ รวมถึง Operating System
และเวอร์ชัน JVM
ของคุณ ดูคู่มือการมีส่วนร่วมของเราสำหรับข้อมูลเกี่ยวกับการมีส่วนร่วมใน Reactor Netty
คุณไม่จำเป็นต้องสร้างจากแหล่งที่มาเพื่อใช้ Reactor Netty
(ไบนารีใน repo.spring.io) แต่หากคุณต้องการลองใช้เวอร์ชันใหม่ล่าสุดและยิ่งใหญ่ที่สุด Reactor Netty
ก็สามารถสร้างได้อย่างง่ายดายด้วย gradle wrapper คุณต้องมี JDK 1.8 ด้วย
$ git clone https://github.com/reactor/reactor-netty.git
$ cd reactor-netty
$ ./gradlew build
หากคุณต้องการเผยแพร่อาร์ติแฟกต์ไปยังการใช้พื้นที่เก็บ Maven
ในเครื่องของคุณ:
$ ./gradlew publishToMavenLocal
https://projectreactor.io/docs/netty/release/api/
Reactor Netty
เป็นซอฟต์แวร์โอเพ่นซอร์สที่เผยแพร่ภายใต้ Apache License 2.0