Lightweight UDP library for Dart.
Usage
A simple usage example:
import 'package:udp/udp.dart';
main() async {
var sender = await UDP.bind(Endpoint.any(port: Port(65000)));
var dataLength = await sender.send("Hello World!".codeUnits,
Endpoint.broadcast(port: Port(65001)));
stdout.write("$dataLength bytes sent.");
var receiver = await UDP.bind(Endpoint.loopback(port: Port(65002)));
receiver.asStream(timeout: Duration(seconds: 20)).listen((datagram) {
var str = String.fromCharCodes(datagram.data);
stdout.write(str);
});
sender.close();
receiver.close();
var multicastEndpoint =
Endpoint.multicast(InternetAddress("239.1.2.3"), port: Port(54321));
var receiver = await UDP.bind(multicastEndpoint);
var sender = await UDP.bind(Endpoint.any());
receiver.asStream().listen((datagram) {
if (datagram != null) {
var str = String.fromCharCodes(datagram?.data);
stdout.write(str);
}
});
await sender.send("Foo".codeUnits, multicastEndpoint);
await Future.delayed(Duration(seconds:5));
sender.close();
receiver.close();
}
Features and bugs
Please file feature requests and bugs at the issue tracker.