Пример #1
0
int main(int argc, char *argv[])
{
    int r;

    MX *mx = mxClient("localhost", NULL, "Echo");

    if (mx == NULL) {
        fprintf(stderr, "mxClient failed.\n");
        return 1;
    }

    ping_msg = mxRegister(mx, "Ping");
    echo_msg = mxRegister(mx, "Echo");

    fprintf(stderr, "Echo: ping_msg = %d.\n", ping_msg);
    fprintf(stderr, "Echo: echo_msg = %d.\n", echo_msg);

    mxSubscribe(mx, ping_msg, on_ping, NULL);

    r = mxRun(mx);

    fprintf(stderr, "Echo: mxRun returned %d.\n", r);

    if (r != 0) {
        fputs(mxError(), stderr);
    }

    mxDestroy(mx);

    return r;
}
Пример #2
0
int main(int argc, char *argv[])
{
    int i, sub = argv[1][0] - '0';
    char my_name[6] = "Testx";
    MX_Type msg[4];

    my_name[4] = argv[1][0];

    MX *mx = mxConnect(NULL, "localhost", my_name);

    logger = logCreate();
    logToFP(logger, stdout);
#if 0
    logWithDate(logger);
    logWithTime(logger, 6);
#endif
    logWithString(logger, my_name);

    mxOnNewComponent(mx, on_new_component, NULL);
    mxOnEndComponent(mx, on_end_component, NULL);
    mxOnNewMessage(mx, on_new_message, NULL);

    for (i = 1; i <= sub; i++) {
        char msg_name[5];

        snprintf(msg_name, sizeof(msg_name), "Msg%d", i);

        msg[i] = mxRegister(mx, msg_name);

        on_new_message(mx, msg_name, msg[i], NULL);

        if (i == sub) {
            mxPublish(mx, msg[i]);
        }
        else {
            mxSubscribe(mx, msg[i], on_message, NULL);
        }
    }

    mxRun(mx);

    return 0;
}