由于c++层接收到服务端主动推送tcp数据,所以存在将c++层接收到的socket数据通过层层回调至java的需求。
以下为c++代码段:
1:在c++头文件中定义申明相应回调函数指针
typedef void (*SwitchStateChangeCallback)(char *pchar);//定义服务器主动回调函数
SwitchStateChangeCallback switchStateChangeCallback;//申明函数回调
2:jni中实现相应回调方法
void SwitchCallbackToJni(char *pchar) {
LOGD("callback jni:%s",pchar);
jclass jclassobj = threadEnv->GetObjectClass(gs_object);
jmethodID method = threadEnv->GetMethodID(jclassobj,"swithDataCallback","(ZLjava/lang/String;)V");
if(method == NUL