EasyDSS高性能RTMP/FLV/HLS(m3u8)/RTSP流媒体服务器技术的HTTP QueryString URL的C++实现方案
2023-09-14 08:59:56 时间
EasyDSS支持HTTP GET接口访问,我们需要获取url的各种参数信息
比如 http://ip:port/action?a=1&b=2&c=3
我们需要知道对应的a、b、c的值
这里我们实现了简单的query url,能满足一般要求
后面会实现一个完善的URI解析类
to_lower 辅助函数,C++中没有 string 的转换大小写函数
inline void to_lower(std::string& str)
{
for (int i = 0; i <str.size(); i++)
str[i] = tolower(str[i]);
}
query_url函数,简单实现
std::map<std::string, std::string> query_url(const std::string& url)
{
std::string keyval, key, val;
//将参数以std::map的方式返回
std::map<std::string, std::string> params;
std::istringstream issUrl(url);
//从issUrl中使用分隔符`&`提取
while (std::getline(issUrl, keyval, '&'))
{
std::istringstream iss(keyval);
//再以`=`分隔符获取key和value
if (std::getline(std::getline(iss, key, '='), val))
{
to_lower(key);
params[key] = val;
}
}
return params;
}
当然,最应该使用的应该是 std::map<string, any>,后续不断改进
关于EasyDSS流媒体服务器
easydss流媒体解决方案是由安徽旭帆信息科技有限公司自主研发的一套集流媒体点播、转码、管理、直播、录像、检索、时移回看于一体的一套完整的商用流媒体解决方案。安徽旭帆信息科技有限公司一直致力于流媒体音视频领域的科技研发,其建立和维护的easydarwin开源项目自2012年起发展至今,凭借多年在流媒体音视频领域的技术经验积累,目前已经发展成为行业技术领先、经验丰富的流媒体研发及技术服务团队。而easydss正是由easydarwin项目的多年积累而全新研发的一套商用的、功能强大的高性能流媒体解决方案。
详情可访问easydss官网:http://www.easydss.com
相关文章
- C++学习5-面向对象编程基础(构造函数、转换构造、静态数据成员、静态成员函数、友元)
- C++之数据、结构体初始化值为0
- 【C/C++学院】0804-C语言和设计模式(继承、封装、多态)
- 服务器设计笔记(2)-----定时器的实现(C++)
- C++实现网络寻路
- C++ 表达式语句 海伦的故事
- linux C++ 获取服务器外网IP地址(使用系统调用system)
- EasyDSS RTMP流媒体服务器的HTTP接口query url的C++实现方法
- 深入理解C/C++ [Deep C (and C++)] (2)
- 【华为OD机试 2023】租车骑绿岛(C++ Java JavaScript Python)
- C++学习心得与c语言到c++衔接技巧
- 解答私信@被c++折磨头秃的花季美少女 //C++ 写一个带命令行参数的程序,可以实现将参数求和、求平均值以及排序之后输出(参数的数量不确定)。
- c++ vector 初始化_C++--vector()的用法
- C/C++学习站点资源
- OpenCV5(C++)版本docker容器服务器配置分享
- vs2019 实现C#调用c++的dll两种方法
- 音视频学习 - 创建 c++WinUI3 + ffmpeg 的桌面程序
- C++搭建websocket服务器并与浏览器js通信
- 第一章 C++编程基础——1.6指针
- C++搭建集群聊天室(十八):nginx + redis 发布订阅 升级项目为集群服务器
- C++搭建集群聊天室(十一):客户端 || 服务器 异常退出解决方案
- C++ 数据类型