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; }
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; }