前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >通过Webrtc实现推拉流报错“未初始化网络库WSAStartup失败”问题排查分析

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

原创
作者头像
TSINGSEE青犀视频
修改于 2021-05-14 09:42:18
修改于 2021-05-14 09:42:18
1.2K00
代码可运行
举报
文章被收录于专栏:TSINGSEE青犀视频TSINGSEE青犀视频
运行总次数:0
代码可运行

近期我们研发人员在对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
代码运行次数:0
运行
AI代码解释
复制
#ifdef _WIN32
	WSADATA wData;
	::WSAStartup(MAKEWORD(2, 2), &wData);
#endif // _WIN32

函数析构:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#ifdef _WIN32
	::WSACleanup();
#endif // _WIN32

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【在Linux世界中追寻伟大的One Piece】验证TCP
WSAStartup函数的主要作用是向操作系统说明我们将使用哪个版本的Winsock库,从而使得该库文件能与当前的操作系统协同工作。成功调用该函数后,Winsock库的状态会被初始化,应用程序就可以使用Winsock提供的一系列套接字服务,如地址家族识别、地址转换、名字查询和连接控制等。这些服务使得应用程序可以与底层的网络协议栈进行交互,实现网络通信。在调用WSAStartup函数后,如果应用程序完成了对请求的Socket库的使用,应调用WSACleanup函数来解除与Socket库的绑定并释放所占用的系统资源。
枫叶丹
2024/09/24
1090
【在Linux世界中追寻伟大的One Piece】验证TCP
【在Linux世界中追寻伟大的One Piece】网络命令|验证UDP
Ping命令是一种网络诊断工具,它使用ICMP(Internet Control Message Protocol,互联网控制消息协议)来检测网络连接。当您执行ping命令时,它会向指定的主机发送一系列的ICMP回显请求(echo request)消息,并等待接收ICMP回显响应(echo reply)消息。通过分析这些响应,您可以判断目标主机是否可达以及网络的响应时间等信息。
枫叶丹
2024/09/18
1210
C++ 使用Socket实现主机间的UDP/TCP通信
服务器端的代码做了跨平台(POSIX和WINDOWS),基于POSIX平台(Linux、Mac OS X、PlayStation等)使用sys/socket.h库,windows平台使用winsock2.h库。 客户端代码因为基本都在windows运行,所以没做跨平台,需要的话你可以参考服务器端代码自己做一下。 文中写的函数原型均为windows平台,部分函数的返回类型或参数类型在POSIX会有不同。
六月丶
2023/01/01
3.1K0
C++ 使用Socket实现主机间的UDP/TCP通信
windows 下最小化 tcp/udp 实例
实际 windows 下 socket 编程和 linux 下几乎没有什么区别,函数名、结构体信息等都一模一样的,因为这些并非是操作系统所设计决定的。而是由公共的组织在维护和约定这些规范。在 windows 下唯一与 linux 不同的就是需要自己手动加载套接字库。其他几乎完全一致,参考以下代码。
我与梦想有个约会
2023/10/20
2400
Windows下网络编程(win32API+VS2022)
下载地址:https://visualstudio.microsoft.com/zh-hans/downloads/
DS小龙哥
2024/05/24
2470
Windows下网络编程(win32API+VS2022)
VC++ TCP网络控制台程序
在Windows7系统下,采用工具为VS2008,Win32控制台应用程序,编写一个基于TCP的Client/Server网络程序。
ccf19881030
2019/04/23
1.1K0
VC++ TCP网络控制台程序
socket网络编程基础
套接字 socket是操作系统内核的一个数据结构,它是网络中节点进行相互通信的门户。网络编程实际上也可以称作套接字编程。
xxpcb
2020/08/04
9900
socket网络编程基础
【Android 逆向】Android 逆向通用工具开发 ( 网络模块开发 | 配置头文件 | 配置编译参数 | 网络初始化 WSAStartup 与清理 WSACleanup 操作 )
Windows 中引入网络套接字头文件注意事项 : 必须先引入 WinSock2.h 头文件 , 然后 再引入 Windows.h 头文件 , 否则会报错 ;
韩曙亮
2023/03/29
3320
【网络编程】简单的服务端客户端实现
有些图片来源——https://blog.csdn.net/TT_love9527
半生瓜的blog
2023/05/13
4160
【网络编程】简单的服务端客户端实现
网络编程基础第二讲.网络编程框架
     socket 是开发接口.是TCP/IP网络环境下.应用程序与驱动程序之间访问的接口.
IBinary
2019/05/25
5540
14.1 Socket 套接字编程入门
Winsock是Windows操作系统上的套接字API,用于在网络上进行数据通信。套接字通信是一种允许应用程序在计算机网络上进行实时数据交换的技术。通过使用Windows提供的API,应用程序可以创建一个套接字来进行数据通信。这个套接字可以绑定到一个端口,以允许其他应用程序连接它。另外,Winsock可以使用TCP/IP、UDP等协议来完成不同类型的数据传输任务。在网络应用程序开发中,套接字通信可以帮助应用程序开发者实现客户端/服务端模型,并实现数据的可靠传输。
王瑞MVP
2023/10/11
4380
14.1 Socket 套接字编程入门
C/C++ 使用Socket模拟远程CMD
服务端(server) #include <stdio.h> #include <winsock2.h> #pragma comment(lib,"ws2_32.lib") //把ws2_32.lib加到Link页的连接库 #define PORT 15001 //通信的端口(指服务器端) #define ERROR 0 #define BUFFER_SIZE 1024 //注意:此Server端数据接收缓冲区 >= Clie
王瑞MVP
2022/12/28
5720
几种服务器端IO模型的简单介绍及实现(上)
一些概念: 同步和异步 同步和异步是针对应用程序和内核的交互而言的,同步指的是用户进程触发I/O操作并等待或者轮询的去查看I/O操作是否就绪,而异步是指用户进程触发I/O操作以后便开始做自己的事情,而当I/O操作已经完成的时候会得到I/O完成的通知。 阻塞和非阻塞 阻塞和非阻塞是针对于进程在访问数据的时候,根据I/O操作的就绪状态来采取的不同方式,说白了是一种读取或者写入操作函数的实现方式,阻塞方式下读取或者写入函数将一直等待,而非阻塞方式下,读取或者写入函数会立即返回一个状态值。 服务器端几种模型: 1、
李海彬
2018/03/23
1K0
几种服务器端IO模型的简单介绍及实现(上)
漫画C语言 做个聊天软件你不懂也得懂
学完C语言做不出东西?不存在的,咱们做一个最“隐私”的聊天器,就俩人,你和我。咱们聊天的信息你知我知没别人知。 没学过C语言的,觉得难的看这里:https://blog.csdn.net/a757291228/category_11468001.html
1_bit
2022/01/06
7980
漫画C语言 做个聊天软件你不懂也得懂
c语言网络通信_c语言tcp网络编程
TCP/IP协议包含的范围非常的广,它是一种四层协议,包含了各种硬件、软件需求的定义。TCP/IP协议确切的说法应该是TCP/UDP/IP协议。UDP协议(User Datagram Protocol 用户数据报协议),是一种保护消息边界的,不保障可靠数据的传输。TCP协议(Transmission Control Protocol 传输控制协议),是一种流传输的协议。他提供可靠的、有序的、双向的、面向连接的传输。
全栈程序员站长
2022/11/01
8.5K0
windows环境下用c++实现socket编程
socket即套接字,用于描述地址和端口,是一个通信链的句柄。应用程序通过socket向网络发出请求或者回应。
全栈程序员站长
2022/09/14
5.2K0
windows环境下用c++实现socket编程
计网 | C语言Socket编程获取本机IP及指定域名IP
需要注意的是引用winsock2.h头文件后,还需要链接该头文件的实现文件,在本机上使用宏#pragma comment (lib, "ws2_32.lib")无法成功添加该实现文件ws2_32。手动编译时会出现如下报错信息:
Ranlychan
2023/03/05
3.8K0
windows环境下C/C++的socket相关网络编程详解以及部分TCP详解
在Windows操作系统下,进程之间通信(IPC)可以通过多种机制实现,以下是一些常用的通信方法:
晨星成焰
2024/07/02
2.6K1
windows环境下C/C++的socket相关网络编程详解以及部分TCP详解
网络编程第三讲UDP编写
  UDP是面向无连接的.就是说数据传输会丢掉.网络延时比较大的情况下.会早上丢包.例如视频通话.就是UDP
IBinary
2019/05/25
4450
C++写Socket——TCP篇(0)建立连接及双方传输数据
这里主要是关于TCP的,TCP的特点什么的相关介绍在我另一篇博文里,所以这里直接动手吧。
太阳影的社区
2021/10/15
2.1K0
推荐阅读
相关推荐
【在Linux世界中追寻伟大的One Piece】验证TCP
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档