使用libjingle C / C ++的数据通道

时间:2014-06-29 07:57:27

标签: webrtc libjingle

我正在寻找使用WebRTC建立数据通道的一个非常基本的例子。给出的peer_connection示例用于音频/视频,我无法运行它们来理解代码流并自行编写数据通道代码。我使用JavaScript浏览器做了这个,现在想对本机应用程序做同样的事情。

2 个答案:

答案 0 :(得分:0)

您是否检查过peerconnection.cc以获取数据通道创建API?

我看到了这个:

talk_base::scoped_refptr<DataChannelInterface>
PeerConnection::CreateDataChannel(
    const std::string& label,
    const DataChannelInit* config) {
  talk_base::scoped_refptr<DataChannelInterface> channel(
      session_->CreateDataChannel(label, config));
  if (!channel.get())
    return NULL;

  observer_->OnRenegotiationNeeded();
  return DataChannelProxy::Create(signaling_thread(), channel.get());
}

所以在peerconnection_client示例中,我认为您可以尝试使用peer.cc中的peerconnection在AddStreams中使用peer_connection_创建数据通道并保留数据通道实例,然后在收到答案后尝试使用它发送数据。

不幸的是我现在没有编辑环境,我自己也试过了。

希望你能做到。

答案 1 :(得分:0)

我使用的是旧版的webrtc。有一个名为PCP_MAIN的例子。此示例演示了两个对等方之间的基本文件传输。但是这使用伪TCP。这很难让它作为数据通道工作。可能你可能想看看RTP数据通道。

我很想知道使用SCTP的一些例子。