问题分析:
1.线程前后顺序有问题?
2.两个api算两次调用,所以变量存在不同的地址。
验证,
异步,js单线程,要看结果,只能单独扩展api,
如何解决,
直接修改接口。添加一个特殊接口。
两个方案:
1. 定制一个专门测试的api,一定可以,基于addlistener 扩展一个定制版本的扩展接口。addlistener后就同时先sendpcmvoicedata,有病吧? 直接在addlistener里调sendpcmvoicedata,试过
2.库中进行多线程操作,第二次访问时将语音数据返回来? 不知是否可行。
为什么两个api访问的全局变量没起效果。
Connection reset by peer 什么错误,具体不一定。
声明
bool getpcmvoicedata;
char* pcmvoicedata_sent_from_peer;
函数1
/*int sendPcmVoice(char voiceData[])*/
int sendPcmVoice(char* voiceData)
{
extern bool getpcmvoicedata;
extern char* pcmvoicedata_sent_from_peer;
ADHOCLOG_SO("====enter so====");
/*ADHOCLOG_SO(" %s",voiceData);

博客探讨了C语言全局变量在多线程环境下的问题,遇到的问题包括线程同步和变量状态不一致。提出了两种解决方案:1) 定制测试API以确保线程安全;2) 在库中进行多线程操作,通过返回值传递数据。目前,由于全局变量未生效,导致JS调用的函数2无法获取到正确的数据。
最低0.47元/天 解锁文章
7590

被折叠的 条评论
为什么被折叠?



