librtcdc

librtcdc is a tiny WebRTC Data Channel implementation that works everywhere.

  • Owner: xhs/librtcdc
  • Platform:
  • License:: Other
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

librtcdc is a tiny WebRTC DataChannel implementation that works everywhere (Beta).

BEING REWRITEN

Features

  • Tiny <2k LOC, easy to understand/bind/extend
  • Talks with each other, latest Chrome/Chromium, Firefox, Opera?, Safari?
  • 'Official' Python binding
  • Lack of docs

Prerequisites

Python demo

import pyrtcdc
from pyrtcdc import PeerConnection

# called when the channel received a message
def on_message(channel, datatype, data):
    print 'received data from channel %s: %s' %(channel.label, data)
    channel.send(pyrtcdc.DATATYPE_STRING, 'Roger')

# called when a channel is created by the remote peer
def on_channel(peer, channel):
    print 'channel %s created' %(channel.label)
    channel.on_message = on_message

# called when a new local candidate is found
def on_candidate(peer, candidate):
    print 'local candidate sdp:\n%s' %(candidate)

# called when connected to remote peer
def on_connect(peer):
  peer.create_data_channel('demo', on_open=on_open)

# called when channel is opened
def on_open(channel):
  channel.on_message = on_message
  channel.send(pyrtcdc.DATATYPE_STRING, 'Hi')

peer = PeerConnection(on_channel, on_candidate, stun_server='stun.services.mozilla.com')

# generate local offer sdp and start candidates gathering
offer = peer.generate_offer()

# offer/answer/candidates signalling here (or somewhere)
# ...

# running until the sun cools
peer.loop()

License

BSD 2-Clause

Main metrics

Overview
Name With Ownerxhs/librtcdc
Primary LanguageC
Program languageShell (Language Count: 4)
Platform
License:Other
所有者活动
Created At2015-02-01 12:15:18
Pushed At2018-09-12 11:25:17
Last Commit At2018-09-12 19:24:59
Release Count0
用户参与
Stargazers Count253
Watchers Count22
Fork Count40
Commits Count123
Has Issues Enabled
Issues Count21
Issue Open Count11
Pull Requests Count5
Pull Requests Open Count3
Pull Requests Close Count0
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private