`

Libjingle另一个很隐藏但却很致命的错误 - WSAECONNRESET (10054) Connection reset by peer.

阅读更多
无论Libjingle 0.4.0还是0.5.2 (相比较0.4.0有很大改动), 有一个很隐藏却很致命的错误. 这个错误会导致voice call的时候只能听到一方的声音.

fix方法:
physicalsocketserver.cc

1.
#ifdef WIN32
#define WIN32_LEAN_AND_MEAN
[AddMyChange]
#define SIO_UDP_CONNRESET _WSAIOW(IOC_VENDOR,12)
...

2.
  // Creates the underlying OS socket (same as the "socket" function).
  virtual bool Create(int type) {
    Close();
    s_ = ::socket(AF_INET, type, 0);

[AddMyChange]
#ifdef WIN32
    DWORD dwBytesReturned = 0;
    BOOL bNewBehavior = FALSE;
    DWORD status;

    // disable  new behavior using
    // IOCTL: SIO_UDP_CONNRESET
    status = WSAIoctl(s_, SIO_UDP_CONNRESET,
                   &bNewBehavior, sizeof(bNewBehavior),
                   NULL, 0, &dwBytesReturned,
                   NULL, NULL);
#endif

...


加了上面的修改, 终于完美实现Windows下Libjingle ( 0.4.0或0.5.2) + Linphone的语音通信.
分享到:
评论
1 楼 sheldordor 2011-08-01  
楼主,为啥我按照你说的加了,还是会收到"ortp-warning-Error receiving RTCP packet: Connection reset by peer.",而且声音断断续续的。您知道为什么吗?

相关推荐

    libjingle-0.5.1.zip

    “libjingle-0.5.1.zip”是一个包含libjingle库的压缩文件,特别用于实现WebRTC(Web Real-Time Communication)中的NAT(Network Address Translation)穿透技术。NAT打洞是一种网络通信方法,允许在NAT背后的不同...

    libjingle-0.6.2.

    Libjingle是Google提供的C++组件集,它为Google Talk的点对点通讯与语音呼叫功能提供交互操作性。组件包包括了Jingle和Jingle-Audio的google实现的源代码,它们是XMPP标准的推荐扩展,目前试验版可用。 我们发布此...

    libjingle0.6.14编译好的.lib

    libjingle是一个开源的C++库,由Google开发,主要用于实现网络通信,特别是支持P2P(Peer-to-Peer)通信。P2P技术允许网络中的设备直接相互连接,而无需通过中心服务器,这在视频通话、文件共享等应用中非常常见。 ...

    libjingle_peerconnection

    《深入理解libjingle_peerconnection:WebRTC的核心组件》 libjingle_peerconnection是Google开源项目WebRTC(Web Real-Time Communication)中的关键组件,它在实时通信领域扮演着至关重要的角色。WebRTC是一种...

    VS2010编译libjingle0.6.2步骤

    知识点解释:libjingle 是一个功能强大且广泛应用的 VoIP 库,它提供了实时通信的功能,包括语音、视频和文本聊天等。下载和安装 libjingle 是编译 libjingle 0.6.2 库的第一步。 2. python 安装和环境变量设置:...

    android webrtc libjingle_peerconnection

    Android WebRTC是一个强大的开源项目,它实现了WebRTC(Web Real-Time Communication)标准,允许在浏览器和其他应用程序之间进行实时通信,包括视频通话、音频聊天和数据共享。libjingle_peerconnection是Android ...

    libjingle0.6.14

    由于压缩包文件名列表只有一个"libjingle-0.6.14",我们可以推测这可能包含以下内容: 1. **源代码**:完整的libjingle 0.6.14源代码,供学习者阅读和理解库的内部实现。 2. **编译脚本**:用于构建和测试libjingle...

    libjingle_peerconnection_so.so

    最完全,最全面的Android框架列表libjingle_peerconnection_so

    libjingle源码(linux版本)

    libjingle是Google开发的一个跨平台库,主要用于实现P2P(Peer-to-Peer)通信,它包含了音视频通话、即时消息等多种实时通信功能的实现。 描述中提到的“p2p技术实现”是指libjingle的核心功能,即通过P2P网络架构...

    基于海思芯片(ARM平台)的libjingle静态库(交叉编译).rar

    Libjingle是一个方便实现P2P传输的开源库,由google公司开发,并与2005年12月15日发布第一个版本,可以粗略的看成是Jingle协议的C++实现库(peakflys注:只是和Jingle协议非常相似,并不完全兼容,区别以后介绍),...

    libjingle在windows和ubuntu-linux上编译方法

    本文主要针对libjingle(版本包括但不限于0.6.6、0.6.9和最新的0.6.10)在Windows与Ubuntu Linux操作系统上的编译过程进行详细介绍,并分享了在编译过程中遇到的一些常见问题及其解决方案。 #### Windows平台下的...

    【英文】Libjingle(GoogleTalk) 交叉编译步骤(arm-linux)

    作者:Group ArmTalk 文档:2011-11-30 ...1. Libjingle是什么 2. 怎么获取Libjingle 3. 怎么交叉编译Libjingle(arm-linux-) 以下是个人说明: 要在ARM架构的嵌入式设备使用libjingle,可以参考该文档进行操作

    Libjingle 通过vs2005编译

    目前GOOGLECODE上的最新更新删除了libjingle.vcproj文件,采用scons脚本进行编译,增加了学习门槛,本次下载包增加了libjingle.vcproj文件并且已经通过了vs2005编译,方便大家学习使用。 Libjingle - Google Talk ...

    带GIPS的libjingle source

    标题 "带GIPS的libjingle source" 指的是一个包含GIPS(Global IP Sound)技术的libjingle源代码库。libjingle是Google开发的一个开源项目,主要用于实现跨平台的实时通信(RTC)功能,特别是网络音视频通话。GIPS是...

    Android-Sip2Peer-1.0 实现p2p.zip

    Android-Sip2Peer-1.0是一个专门针对Android系统设计的P2P应用程序,它利用SIP(Session Initiation Protocol)协议进行音视频通话,展示了P2P通信的核心技术。SIP是一种应用层控制协议,用于建立、修改和终止多媒体...

    libjingle vs2010 编译通过

    libjingle是一个开源项目,由Google开发,主要用于实现网络音视频通信。这个项目的核心是提供一个跨平台的库,使得开发者能够轻松地在他们的应用程序中集成VoIP(Voice over IP)和视频聊天功能。在本案例中,我们...

    libjingle的封装库

    Libjingle是一个开源的跨平台通信库,由Google开发并维护,主要用于实现实时音视频通信和即时消息(IM)功能。它基于XMPP(Extensible Messaging and Presence Protocol)协议,为开发者提供了一套底层接口,可以...

    【自整理】源于谷歌的libjingle的API (libjingle Reference).xlsx

    源:https://developers.google.com/talk/libjingle/reference/ 语言:English 源于谷歌的libjingle的API。 个人整理成表格,方便开发时查找。 希望能帮助相关开发者。

    libjingle文档和0.4.0版本源码

    **libjingle** 是一个开源项目,由Google开发并维护,主要用于实现跨平台的实时通信(RTC)功能,包括音频、视频通话以及数据共享。它最初是为Google Talk服务设计的,现在已经成为WebRTC(Web Real-Time ...

Global site tag (gtag.js) - Google Analytics