通过Webrtc实现推拉流报错“未初始化网络库WSAStartup失败”问题排查分析

2021-05-14 17:42:18 浏览数 (1)

近期我们研发人员在对webrtc进行深入的研究,在实现webrtc推拉流时,运行程序,设置会话描述,会出现如下错误:“应用程序没有调用WSAStartup,或者WSAStartup失败”

WSAStartup是Windows下的网络编程接口软件Winsock1 或 Winsock2 里面的一个命令,可以说是windows网络接口启动服务,而为了在应用程序调用winsock api函数,首先第一件事就是必须调用WSAStartup函数来完成对winsock 服务的初始化。

Webrtc出现WSAStartup错误是在network.cc文件的908行。

应用程序调用的是c 的,创建socket编程未初始化网络,导致出现创建失败。目前我们使用的是window下开发,但是Webrtc传输数据必须要通过网络来进行,所以需要初始化window网络库的服务。

此处我们在自己的程序中初始化window网络服务。

函数初始化:

代码语言:javascript复制
#ifdef _WIN32
	WSADATA wData;
	::WSAStartup(MAKEWORD(2, 2), &wData);
#endif // _WIN32

函数析构:

代码语言:javascript复制
#ifdef _WIN32
	::WSACleanup();
#endif // _WIN32

由于webrtc的推流直播目前仍在测试,所以如果大家想了解一些关于我们现有视频平台的相关内容,也可以联系我们,经过实践测试,包括EasyCVR、EasyNVR、EasyGBS等在内的一些视频平台都提供了高稳定性和可靠性的视频传输直播分发服务。

0 人点赞