Pakete, Repositories und App-Kategorien suchen

Paketdetailsv5.0.3

udp

Leichte, effiziente und einfach zu verwendende UDP-Bibliothek für Dart. Unterstützt Unicast-, Broadcast-, Multicast- und Loopback-Kommunikation.

AndroidiOSmacOSWindowsLinux
30-Tage-Downloads
7730
Likes
76
Pub-Punkte
150

Paket installieren

flutter pub add udp

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Eine leichte und effiziente UDP-Bibliothek für Dart, die nahtlose Unicast-, Broadcast-, Multicast- und Loopback-Kommunikation über Plattformen hinweg ermöglicht. Für Anforderungen mit geringer Latenz entwickelt, bietet sie eine einfache API zum Senden und Empfangen von UDP-Paketen mit minimalem Overhead. Ideal für Echtzeitanwendungen wie Spiele, IoT-Geräte und lokale Netzwerk-Erkennung. Die Bibliothek ist plattformübergreifend und unterstützt Android, iOS, macOS, Windows und Linux, was sie vielseitig für unterschiedliche Einsatzszenarien macht.

Anwendungsfälle

  • Echtzeit-Spielnetzwerk
  • IoT-Gerätekommunikation
  • Lokale Netzwerkentdeckung
  • Live-Audio-/Videostreaming
  • Peer-to-Peer-Datenübertragung

Hauptmerkmale

  • Unterstützt Unicast, Broadcast, Multicast und Loopback
  • Plattformübergreifende Kompatibilität
  • niedrige Latenz-Paketausgabe
  • Einfaches und intuitives API
  • Effizienter Speicherverbrauch

Geeignet für

  • Entwickler, die Echtzeit-Apps erstellen
  • IoT und eingebettete Systeme
  • Netzwerkprotokoll-Experimente
  • Apps, die schnelle lokale Kommunikation erfordern

Hinweise

  • Keine eingebaute Zuverlässigkeit oder Reihenfolge
  • Erfordert sorgfältige Behandlung von Paketverlust
  • Nicht für eine garantierte Zustellung geeignet
  • Eingeschränkte Fehlerbehandlung
  • Manuelle Verwaltung des Verbindungsstatus

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

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();
  
}

Features and bugs

Please file feature requests and bugs at the issue tracker.

Kategorien

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.