simple_peer 1.0.0 copy "simple_peer: ^1.0.0" to clipboard
simple_peer: ^1.0.0 copied to clipboard

Simple WebRTC. Similar to the simple-peer project in javascript.

Simple WebRTC. Wraps flutter_webrtc similar to simple-peer

Getting started #

Read more about how to get started with webrtc in flutter_webrtc or the javascript simple-peer

Currently unsupported features (contributions welcome!) #

  • Media channels (only data channels supported right now)
  • Batching of large data ie such as sending files byte by byte (needs to be handled in calling application right now)

Usage #

var peer1 = Peer(initiator: true);
var peer2 = Peer();

peer1.onSignal = (data) async {
  // When peer1 has signaling data, give it to peer2 somehow
  // https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API/Signaling_and_video_calling#the_signaling_server
  await peer2.signal(data);
};

peer2.onSignal = (data) async {
  // When peer2 has signaling data, give it to peer1 somehow
  // https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API/Signaling_and_video_calling#the_signaling_server
  await peer1.signal(data);
};

peer2.onData = (data) async {
  print(data); // hello!
};

peer2.connect();
await peer1.connect();

await peer1.send('hello!');

Example #

Run the example/main.dart application and check that connection worked in console.

Release guide (for contributors) #

  • Test by opening example and check logs that it works
  • Update CHANGELOG.md + pubspec.yml version
  • Run flutter pub publish
11
likes
150
points
115
downloads

Publisher

verified publisherflown.io

Weekly Downloads

Simple WebRTC. Similar to the simple-peer project in javascript.

Repository (GitHub)
View/report issues

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

flutter, flutter_webrtc

More

Packages that depend on simple_peer