织梦CMS - 轻松建站从此开始!

罗索

Libjingle另一个很隐藏但却很致命的错误 - WSAECONNRESET (10054

落鹤生 发布于 2013-02-28 10:07 点击:次 
无论Libjingle 0.4.0还是0.5.2 (相比较0.4.0有很大改动), 有一个很隐藏却很致命的错误. 这个错误会导致voice call的时候只能听到一方的声音.
TAG:

无论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的语音通信.

(mysuperbaby)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201302/16515.html]
本文出处:iteye 作者:mysuperbaby 原文
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容