All Projects → reactor → Reactor Netty

reactor / Reactor Netty

Licence: apache-2.0
TCP/HTTP/UDP/QUIC client/server with Reactor over Netty

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Reactor Netty

Scalecube Services
v2.0 - ScaleCube Services provides a low latency Reactive Microservices library for serverless service registry and discovery based on gossip protocol and without single point-of-failure or bottlenecks.
Stars: ✭ 23 (-98.68%)
Mutual labels:  reactive, reactive-streams, reactor, tcp, ipc, mono, flux
Reactor Addons
Official modules for the Reactor project
Stars: ✭ 175 (-89.96%)
Mutual labels:  reactive, reactive-streams, reactor, mono, flux
Jetlinks Community
JetLinks 基于Java8,Spring Boot 2.x ,WebFlux,Netty,Vert.x,Reactor等开发, 是一个全响应式的企业级物联网平台。支持统一物模型管理,多种设备,多种厂家,统一管理。统一设备连接管理,多协议适配(TCP,MQTT,UDP,CoAP,HTTP等),屏蔽网络编程复杂性,灵活接入不同厂家不同协议等设备。实时数据处理,设备告警,消息通知,数据转发。地理位置,数据可视化等。能帮助你快速建立物联网相关业务系统。
Stars: ✭ 2,405 (+37.98%)
Mutual labels:  reactive-streams, reactor, tcp, netty
Reactor Core
Non-Blocking Reactive Foundation for the JVM
Stars: ✭ 3,891 (+123.24%)
Mutual labels:  reactive, reactive-streams, mono, flux
assembler
Functional, type-safe, stateless reactive Java API for efficient implementation of the API Composition Pattern for querying/merging data from multiple datasources/services, with a specific focus on solving the N + 1 query problem
Stars: ✭ 102 (-94.15%)
Mutual labels:  flux, reactive, reactive-streams, reactor
sample-spring-webflux
testing webclient reactive communication with spring boot reactive application built on top of spring webflux
Stars: ✭ 21 (-98.8%)
Mutual labels:  netty, reactive-streams, reactor
KotlinReactiveMS
An educational project to learn reactive programming with Spring 5 and Kotlin
Stars: ✭ 33 (-98.11%)
Mutual labels:  reactive, reactive-streams, reactor
Rmessage
Reactive Programming Multi-protocol push service
Stars: ✭ 23 (-98.68%)
Mutual labels:  tcp, udp, reactor3
mocket
Reliable UDP server client for flaky networks
Stars: ✭ 21 (-98.8%)
Mutual labels:  tcp, udp, quic
im-bass
基础IM通信
Stars: ✭ 56 (-96.79%)
Mutual labels:  tcp, netty, reactor
Mobileimsdk
一个原创移动端IM通信层框架,轻量级、高度提炼,历经8年、久经考验。可能是市面上唯一同时支持UDP+TCP+WebSocket三种协议的同类开源框架,支持iOS、Android、Java、H5,服务端基于Netty。
Stars: ✭ 3,864 (+121.69%)
Mutual labels:  tcp, udp, netty
socket
Dazzle Async Socket
Stars: ✭ 19 (-98.91%)
Mutual labels:  tcp, udp, ipc
T Io
解决其它网络框架没有解决的用户痛点,让天下没有难开发的网络程序
Stars: ✭ 1,331 (-23.64%)
Mutual labels:  tcp, udp, netty
Jetlinks
JetLinks Core
Stars: ✭ 380 (-78.2%)
Mutual labels:  reactive-streams, reactor, udp
Reactive Ms Example
An educational project to learn reactive programming with Spring 5
Stars: ✭ 157 (-90.99%)
Mutual labels:  reactive, reactive-streams, reactor
twjitm-core
采用Netty信息加载实现长连接实时通讯系统,客户端可以值任何场景,支持实时http通讯、webSocket通讯、tcp协议通讯、和udp协议通讯、广播协议等 通过http协议,rpc协议。 采用自定义网络数据包结构, 实现自定义网络栈。
Stars: ✭ 98 (-94.38%)
Mutual labels:  tcp, netty, udp
Kalm.js
The socket manager
Stars: ✭ 155 (-91.11%)
Mutual labels:  tcp, udp, ipc
Ohsce
PHP HI-REL SOCKET TCP/UDP/ICMP/Serial .高可靠性PHP通信&控制框架SOCKET-TCP/UDP/ICMP/硬件Serial-RS232/RS422/RS485 AND MORE!
Stars: ✭ 206 (-88.18%)
Mutual labels:  tcp, udp, ipc
R2dbc Client
Reactive Relational Database Connectivity
Stars: ✭ 347 (-80.09%)
Mutual labels:  reactive, reactive-streams, reactor
Servicetalk
A networking framework that evolves with your application
Stars: ✭ 656 (-62.36%)
Mutual labels:  reactive, reactive-streams, netty

Reactor Netty

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

Reactor Netty

publish CodeQL

Reactor Netty offers non-blocking and backpressure-ready TCP/HTTP/UDP/QUIC 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/milestone' }
      mavenCentral()
    }

    dependencies {
      //compile "io.projectreactor.netty:reactor-netty-core:1.0.15-SNAPSHOT"
      compile "io.projectreactor.netty:reactor-netty-core:1.0.14"
      //compile "io.projectreactor.netty:reactor-netty-http:1.0.15-SNAPSHOT"
      compile "io.projectreactor.netty:reactor-netty-http:1.0.14"
    }

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.
  • If you want to raise a security vulnerability, please review our Security Policy for more details.

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].