通过阅读本文,您可以了解Native RTS SDK消息回调函数详情及其示例。

函数说明

int (* event_callback)(
    void *opaque,
    int type,
    void *data,
    long long data_size
);          

参数说明

参数 类型 描述
opaque void * 通过preconfig("MessageCbParam")设置的值,RTS SDK将原值回传给event_callback
type int 消息ID,详情请参见回调事件和错误码
data void * 消息内容,格式为when=<time_in_ms>,where=<place>,who=<id>,desc=<extra text>。该参数为临时变量,出回调函数会释放。
data_size long long 消息内容长度,单位:字节。

示例说明

消息回调函数通过preconfig设置给Native RTS SDK,示例如下所示:

static int on_message(void *s,
                      int type,
                      void *data,
                      long long data_size)
{
    (void) s;

    //TODO: process message, do not take too long
    switch(type) {
    case 105:
        printf("Profiling message %s.\n", (const char *)data);
        break;
    default:
        break;
    }
    return 0;
}

__rts_funcs->preconfig("MessageCallback", addr_to_string(on_message, buf));
__rts_funcs->preconfig("MessageCbParam", addr_to_string(s, buf));         

关于消息回调函数更多信息,请参见Native RTS SDK中的rtsdec.c文件。