udp

Creator: coderz1093

Last updated:

Add to Cart

Description:

udp

Lightweight UDP library for Dart.
Usage #
A simple usage example:
import 'package:udp/udp.dart';


main() async {
// creates a UDP instance and binds it to the first available network
// interface on port 65000.
var sender = await UDP.bind(Endpoint.any(port: Port(65000)));

// send a simple string to a broadcast endpoint on port 65001.
var dataLength = await sender.send("Hello World!".codeUnits,
Endpoint.broadcast(port: Port(65001)));

stdout.write("$dataLength bytes sent.");

// creates a new UDP instance and binds it to the local address and the port
// 65002.
var receiver = await UDP.bind(Endpoint.loopback(port: Port(65002)));

// receiving\listening
receiver.asStream(timeout: Duration(seconds: 20)).listen((datagram) {
var str = String.fromCharCodes(datagram.data);
stdout.write(str);
});

// close the UDP instances and their sockets.
sender.close();
receiver.close();


// MULTICAST
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();

}
copied to clipboard
Features and bugs #
Please file feature requests and bugs at the issue tracker.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.