Ejemplo n.º 1
0
void broad_cast(client_node_t* current_client, char* message) {
    client_node_t* client_list = get_client_list();
    int c;
    for(c=1; c<=30; c++) {
        if(client_list[c].id != -1) {
            mq_send_msg(TELL_MSG, current_client->id, c, message);
            kill(client_list[c].pid, SIGUSR1);
            client_wait();
        }
    }
}
Ejemplo n.º 2
0
int main ( int argc, char *argv[] )
{
    MQ_MODULE_E src, dest;
    char send_data[64];
    char recv_data[64];

    memset(send_data, '\0', sizeof(send_data));
    memset(recv_data, '\0', sizeof(recv_data));

    src = MODULE_CAPI_RETRIEVE;
    dest = MODULE_CONF_MGR_RETRIEVE;

    strcpy(send_data, "send1");

    if ( mq_init() == -1 ) 
    {
        DEBUG_PRINTF("mq_init failed\n");
        return EXIT_FAILURE;
    }

    if ( mq_send_msg(src, dest, send_data, sizeof(send_data), MQ_PRIO_1) < 0) 
    {
        DEBUG_PRINTF("mq_send_msg failed\n");
        return EXIT_FAILURE;
    }

    strcpy(send_data, "send2");

    if ( mq_send_msg(src, dest, send_data, sizeof(send_data), MQ_PRIO_2) < 0) 
    {
        DEBUG_PRINTF("mq_send_msg failed\n");
        return EXIT_FAILURE;
    }


    mq_unload();
    return EXIT_SUCCESS;
}
Ejemplo n.º 3
0
int tell(client_node_t* current_client, char* client_id_str, char* message) {
    client_node_t* client_list = get_client_list();
    int client_id = atoi(client_id_str);
    if(client_list[client_id].id == -1 || client_id < 1 || client_id > 30) {
        return -1;
    } else {
        char msg_to_send[2048];
        sprintf(msg_to_send, "*** %s told you ***: %s\n", current_client->name, message);
        mq_send_msg(TELL_MSG, current_client->id, client_id, msg_to_send);
        kill(client_list[client_id].pid, SIGUSR1);
        client_wait();
    }
    return 0;
}