zmq_msg_recv(&message, responder, 0);
printf("Получено сообщение Hello\n");
char *reply = "World";
zmq_msg_send(&message, responder, 0);
zmq_msg_close(&message);
zmq_msg_init_size(&message, strlen(reply));
memcpy(zmq_msg_data(&message), reply, strlen(reply));
zmq_msg_send(&message, responder, 0);
zmq_msg_close(&message);
}
zmq_close(responder);
zmq_ctx_destroy(context);
return 0;
}
#include <zmq.h>
#include <stdio.h>
#include <string.h>
int main() {
void *context = zmq_ctx_new();
void *requester = zmq_socket(context, ZMQ_REQ);
int rc = zmq_connect(requester, "tcp://localhost:5555");
if (rc != 0) {
fprintf(stderr, "Не удалось подключиться к сокету\n");
return -1;
}
for (int request_nbr = 0; request_nbr != 10; request_nbr++) {
zmq_msg_t message;
zmq_msg_init_size(&message, 5);
memcpy(zmq_msg_data(&message), "Hello", 5);
zmq_msg_send(&message, requester, 0);
zmq_msg_close(&message);
zmq_msg_init(&message);
zmq_msg_recv(&message, requester, 0);
printf("Получено World %d\n", request_nbr);
zmq_msg_close(&message);
}
zmq_close(requester);
zmq_ctx_destroy(context);
return 0;
}
Для получения более подробной информации о ZeroMQ и его возможностях рекомендуется ознакомиться с официальной документацией на сайте проекта.
Автор: Pieter Hintjens ph@imatix.com, CEO iMatix Corporation.
Адрес оригинала: https://github.com/imatix/zguide/tree/v2.2
Перевод: Zhang Ji jizhang@anjuke.com, инженер компании Anjuke Group, Good Rent Network
ЗАМЕЧАНИЕ: Этот перевод охватывает стабильную версию ZMQ от октября 2011 года, то есть версию 2.1.0 stable release. Однако читатель всё ещё может получить представление о некоторых базовых концепциях и философии ZMQ.---
Эта работа лицензирована на условиях лицензии Creative Commons Attribution-ShareAlike 3.0 License.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )