[c++] ZeroMQ 연결 방법
ZeroMQ는 분산 응용프로그램을 위한 메시지 전달 시스템으로, C++, Python, Java 등 여러 언어로 사용할 수 있습니다. 이번에는 C++에서 ZeroMQ를 사용하는 방법에 대해 살펴보겠습니다.
필요한 라이브러리 설치
먼저 ZeroMQ 라이브러리를 설치해야 합니다. Windows에서는 vcpkg를 사용하여 설치할 수 있습니다. 아래의 명령어를 사용하여 ZeroMQ를 설치합니다.
vcpkg install zeromq
“publisher”와 “subscriber” 역할
ZeroMQ를 이용해 “publisher”와 “subscriber” 사이의 연결을 구현해보겠습니다. Publisher는 메시지를 발행하고, Subscriber는 이를 수신하는 역할을 합니다.
Publisher 예제
#include <zmq.hpp>
#include <string>
int main() {
zmq::context_t context(1);
zmq::socket_t publisher(context, ZMQ_PUB);
publisher.bind("tcp://*:5556");
while (true) {
zmq::message_t message(5);
memcpy(message.data(), "Hello", 5);
publisher.send(message);
}
}
Subscriber 예제
#include <zmq.hpp>
#include <string>
int main() {
zmq::context_t context(1);
zmq::socket_t subscriber(context, ZMQ_SUB);
subscriber.connect("tcp://localhost:5556");
subscriber.setsockopt(ZMQ_SUBSCRIBE, "", 0);
while (true) {
zmq::message_t message;
subscriber.recv(&message);
std::string data(static_cast<char*>(message.data()), message.size());
std::cout << "Received: " << data << std::endl;
}
}
이제 위 예제를 통해 ZeroMQ를 사용하여 C++로 publisher와 subscriber를 구현하는 방법을 알아보았습니다.
참고 자료
- ZeroMQ 공식 문서: https://zeromq.org/
- ZeroMQ GitHub 저장소: https://github.com/zeromq/libzmq
이제 ZeroMQ를 사용하여 C++에서 publisher와 subscriber를 구현하는 방법에 대해 알아보았습니다. ZeroMQ를 활용하여 분산 시스템을 구축하는 데 도움이 되길 바랍니다.