metaRTC新增纯C版JSON支持

概述

JSON 是轻量级的文本数据交换格式,它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。 简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。

metaRTC新版本新增了纯C版的JSON支持,不需要第三方类库,增强了信令和数据交换便宜性。

mqtt+json已经成为物联网及webrtc信令交互的首选方案。

源码下载

GitHub - metartc/metaRTC: A cross-platform WebRTC SDKA cross-platform WebRTC SDK. Contribute to metartc/metaRTC development by creating an account on GitHub.https://github.com/metartc/metaRTCmetaRTC: metaRTC为纯C版本的webrtc 可与谷歌webrtc类库互通,支持Webrtc/SRT/RTMPhttps://gitee.com/metartc/metaRTC

yang_config.h配置文件修改

#define Yang_Enable_Datachannel 1
#define Yang_Enable_Mqtt        1
#define Yang_Enable_Json        1
#define Yang_Enable_Openh264    1

修改 Yang_Enable_Json 为 1

c/c++ create and destroy

int32_t yang_create_jsonReader(YangJsonReader* reader,char* jsonStr);
void yang_destroy_jsonReader(YangJsonReader* reader);

int32_t yang_create_jsonWriter(YangJsonWriter* writer);
void yang_destroy_jsonWriter(YangJsonWriter* writer);

c/c++ reader simple sample

	YangJsonReader reader;	

	if(yang_create_jsonReader(&reader,sdp)!=Yang_Ok){
		yang_error("read srs response json error!");
		return;
	}

	YangJson* jcode = reader.getObjectItemCaseSensitive(reader.session, "code");
	YangJson* sessionid = reader.getObjectItemCaseSensitive(reader.session, "sessionid");
	
	if (reader.isNumber(jcode))
	{
		srs->retcode=jcode->valueint;
	}

	if (reader.isString(sessionid) && (sessionid->valuestring != NULL))
	{
		srs->sessionid=(char*)yang_calloc(yang_strlen(sessionid->valuestring)+1,1);
		yang_memcpy(srs->sessionid,sessionid->valuestring,yang_strlen(sessionid->valuestring));

	}
	
	yang_destroy_jsonReader(&reader);

c/c++ writer simple sample

	YangJsonWriter writer;
	yang_create_jsonWriter(&writer);

	writer.addNumberToObject(writer.session,"tid",tid);
	writer.addStringToObject(writer.session,"streamurl",streamurl);
	writer.addNullToObject(writer.session,"clientip");

	char *srsAnswer=writer.printUnformatted(writer.session);
	
	//process srsAnswer
	
	yang_destroy_jsonWriter(&writer);

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

metaRTC

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值