Webrtc 使用LibKingle C/C+的数据通道+;

Webrtc 使用LibKingle C/C+的数据通道+;,webrtc,libjingle,Webrtc,Libjingle,我正在寻找一个使用WebRTC建立数据通道的非常基本的示例。所给出的peer_连接示例是针对音频/视频的,我无法运行它们来理解代码流并自己编写数据通道的代码。我已经使用JavaScript for browser完成了这项工作,现在想对本机应用程序执行同样的操作。是否检查了peerconnection.cc中的数据通道创建API 我看到了: talk_base::scoped_refptr<DataChannelInterface> PeerConnection::CreateDat

我正在寻找一个使用WebRTC建立数据通道的非常基本的示例。所给出的
peer_连接
示例是针对音频/视频的,我无法运行它们来理解代码流并自己编写数据通道的代码。我已经使用JavaScript for browser完成了这项工作,现在想对本机应用程序执行同样的操作。

是否检查了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());
}
talk_base::范围化的_refptr
PeerConnection::CreateDataChannel(
常量标准::字符串和标签,
常量DataChannelInit*配置){
talk_base::作用域_refptr通道(
会话->创建数据通道(标签,配置);
如果(!channel.get())
返回NULL;
观察者->需要重新协商();
返回DataChannelProxy::Create(signaling_thread(),channel.get());
}
因此,在peerconnection_客户端示例中,我认为您可以尝试在AddStreams中使用peer_connection在conductor.cc中使用peerconnection创建数据通道,并保留数据通道实例,然后在收到答案后尝试使用它发送数据

不幸的是,我现在没有编译环境,我自己也不能尝试


希望你能做到。

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


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

谢谢,目前我没有寻找特定的传输协议,任何东西都可以。如果您有一个RTP的简单示例,请提供相同的示例,以便我至少可以了解API及其用法。