RSocket Dart SDK
Examples
Client
import 'package:rsocket/rsocket_connector.dart';
import 'package:rsocket/payload.dart';
void main() async {
var rsocket = await RSocketConnector.create().connect('tcp://127.0.0.1:42252');
var result = await rsocket.requestResponse(Payload.fromText('text/plain', 'Ping'));
print(result.getDataUtf8());
}
Server
import 'package:rsocket/rsocket_server.dart';
import 'package:rsocket/payload.dart';
import 'package:rsocket/rsocket.dart';
void main() async {
const listenUrl = 'tcp://0.0.0.0:42252';
var closeable = await RSocketServer.create(requestResponseAcceptor((payload) {
return Future.value(Payload.fromText('text/plain', 'Pong'));
})).bind(listenUrl);
print('RSocket Server started on ${listenUrl}');
}
RSocket Service Proxy & Routing
Please refer https://github.com/rsocket/rsocket-dart/tree/master/lib/route
RSocket
- Operations
x
REQUEST_FNFx
REQUEST_RESPONSEx
REQUEST_STREAMx
METADATA_PUSH
- More Operations
x
Errorx
Keepalive
- QoS
- Transport
x
TCPx
Websocket
- High Level APIs
x
Clientx
Server
- Misc
x
RxDart
References
- RSocket: https://rsocket.io
- Dart: https://dart.dev/
Libraries
- io/bytes
- metadata/composite_metadata
- duplex_connection
- frame/frame
- frame/frame_types
- route/load_balance
- payload
- route/reflection
- rsocket
- rsocket_connector
- core/rsocket_error
- core/rsocket_requester
- core/rsocket_responder
- rsocket_server
- route/rsocket_service_proxy
- route/rsocket_service_router
- shelf
- core/stream_id_supplier
- metadata/wellknown_mimetype