Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev5.0.3

udp

Biblioteca UDP leve, eficiente e fácil de usar para Dart. Suporta comunicações unicast, broadcast, multicast e loopback.

AndroidiOSmacOSWindowsLinux
Downloads em 30 dias
7,7 mil
Curtidas
76
Pontos Pub
150

Instalar pacote

flutter pub add udp

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

Uma biblioteca UDP leve e eficiente para Dart, permitindo comunicação unicast, broadcast, multicast e loopback sem problemas entre plataformas. Projetada para necessidades de rede com baixa latência, oferece uma API simples para enviar e receber pacotes UDP com overhead mínimo. Ideal para aplicações em tempo real, como jogos, dispositivos IoT e descoberta de rede local. A biblioteca é multiplataforma, suportando Android, iOS, macOS, Windows e Linux, tornando-a versátil para diversos cenários de implantação.

Casos de uso

  • Rede de jogos em tempo real
  • comunicação de dispositivo IoT
  • Descoberta de rede local
  • Transmissão ao vivo de áudio/vídeo
  • Transferência de dados ponto a ponto

Principais recursos

  • Suporta unicast, broadcast, multicast e loopback
  • Compatibilidade multiplataforma
  • transmissão de pacotes com baixa latência
  • API simples e intuitiva
  • Uso eficiente de memória

Indicado para

  • Desenvolvedores construindo aplicativos em tempo real
  • IoT e sistemas embarcados
  • Experimentação de protocolo de rede
  • Aplicativos que exigem comunicação local rápida

Considerações

  • Nenhuma confiabilidade ou ordem embutida
  • Requer manipulação cuidadosa da perda de pacotes
  • Não adequado para entrega garantida
  • Tratamento limitado de erros
  • Gerenciamento manual do estado da conexão

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

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.

Categorias

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.