| | |
| | | } msg_t; |
| | | |
| | | void server() { |
| | | msg_t msg; |
| | | void * msg; |
| | | int msg_size; |
| | | msg_t send_msg; |
| | | int key = 1; |
| | | size_t qsize = 16; |
| | |
| | | |
| | | struct timespec timeout = {1, 0}; |
| | | |
| | | while(shmqueue_pop(local_queue, (void *)&msg) ) { |
| | | void * remote_queue = shmqueue_attach(msg.key); |
| | | printf("received: %s\n", msg.buf); |
| | | while(shmqueue_pop(local_queue, &msg, &msg_size) ) { |
| | | void * remote_queue = shmqueue_attach(((msg_t *)msg)->key); |
| | | printf("received: %s\n", ((msg_t *)msg)->buf); |
| | | // send_msg.key = 1; |
| | | sprintf(send_msg.buf, "hello, I have received: %s!", msg.buf); |
| | | sprintf(send_msg.buf, "hello, I have received: %s!", ((msg_t *)msg)->buf); |
| | | shmqueue_push(remote_queue, (void *)&send_msg, sizeof(send_msg)); |
| | | shmqueue_drop(remote_queue); |
| | | // cout << item.pic << endl; |