패키지, 저장소 및 앱 카테고리 검색

패키지 상세v5.0.3

udp

Dart용 가볍고 효율적이며 사용하기 쉬운 UDP 라이브러리입니다. 유니캐스트, 브로드캐스트, 멀티캐스트 및 루프백 통신을 지원합니다.

AndroidiOSmacOSWindowsLinux
30일 다운로드
7.7천
좋아요
76
Pub 점수
150

패키지 설치

flutter pub add udp

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

Dart용 가볍고 효율적인 UDP 라이브러리로, 다양한 플랫폼 간 단일 전송, 브로드캐스트, 멀티캐스트 및 루프백 통신을 원활하게 가능하게 합니다. 낮은 지연 시간 네트워킹 요구 사항에 최적화되어 있으며, 최소한의 오버헤드로 UDP 패킷을 송수신할 수 있는 간단한 API를 제공합니다. 게임, IoT 장치, 로컬 네트워크 탐지와 같은 실시간 애플리케이션에 적합합니다. Android, iOS, macOS, Windows, Linux를 지원하는 크로스플랫폼 라이브러리로, 다양한 배포 시나리오에 유연하게 대응할 수 있습니다.

사용 사례

  • 실시간 게임 네트워킹
  • 사물인터넷 장치 통신
  • 로컬 네트워크 탐지
  • 라이브 오디오/비디오 스트리밍
  • 피어 투 피어 데이터 전송

주요 기능

  • 유니캐스트, 브로드캐스트, 멀티캐스트 및 루프백을 지원합니다
  • 크로스 플랫폼 호환성
  • 저지연 패킷 전송
  • 간단하고 직관적인 API
  • 효율적인 메모리 사용

적합한 대상

  • 실시간 앱을 개발하는 개발자
  • 사물인터넷 및 임베디드 시스템
  • 네트워크 프로토콜 실험
  • 빠른 로컬 통신이 필요한 앱

고려 사항

  • 내장된 신뢰성 또는 순서 없음
  • 패킷 손실에 주의 깊게 대응해야 합니다
  • 보장 배달에 적합하지 않음
  • 제한된 오류 처리
  • 연결 상태 수동 관리

원본 README

연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.

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.

카테고리

소스 저장소

이 패키지를 사용하는 프로젝트

아직 데이터가 없습니다.