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

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

fix方法:
[b]physicalsocketserver.cc[/b]

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

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

[AddMyChange]
[b]#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[/b]
...


加了上面的修改, 终于完美实现Windows下Libjingle ( 0.4.0或0.5.2) + Linphone的语音通信.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值