未找到使用C SDK for IBM Watson的主题的回调
我从未找到使用C SDK for IBM Watson的主题的回调,c,ibm-cloud,iot,watson-iot,C,Ibm Cloud,Iot,Watson Iot,我从 我在Watson IOT上定义我的设备 我使用deviceSample.C创建我的C设备代码段,它会发送一个事件 {“d”:{“SensorID”:“Test”,“Reading”:99}} 我正确地看到Watson IoT平台中的事件 但是当我试图从我的C应用程序管理事件时,我发现了以下错误 iotp_async.c iotp_客户端消息到达1320:错误:未找到主题的回调。主题:iot-2/type/semaforo/id/1002/evt/status/fmt/json 从我的客户端
IoTPApplication_setEventHandler
(application, applicationEventCallback,
devType, devId, eventName, format
);
我的applicationEventCallback在哪里
void applicationEventCallback (char* type, char* id,
char* eventName, char *format, void* payload, size_t payloadSize);
为什么我的客户端无法正确管理传入事件?GigHub项目中提供了该问题的修复程序: 详情请参阅:
多亏了Ranjan的协作和修复从我所看到的,您提供了回调的原型,而不是实际的回调函数。似乎需要像在示例中一样定义函数回调。函数声明/原型不同于函数声明。除此之外,它还可以解释错误“callbacknotfound”。对于函数定义,请尝试一些基本的操作,如:void applicationEventCallback(char*类型、char*id、char*eventName、char格式、void有效负载、size\u t payloadSize){printf(“我的回调被…调用了”;}谢谢sasha。显然,函数已经定义。我只放了一个原型机,不要把柱子放大。我定义的函数可以在下面看到:void applicationEventCallback(char*type,char*id,char*eventName,char格式,void负载,size\u t payloadSize){fprintf(stdout,“接收的应用程序事件:\n”);fprintf(stdout,“type=%s id=%s eventName=%s format=%s Len=%d\n”,type,id,eventName,format,(int)payloadSize);fprintf(stdout,“有效负载:%s\n”,(char*)有效负载);}