반응형
ZeroMQ 메시지브로커 Node.js 예제
ZeroMQ 는 메시지브로커 라이브러리로서 C, C++, C#, 자바스크립트, 다양한 언어를 지원한다. 임베디드 개발에서 사용할 수 있는 메시지브로커 라이브러리 이다. 이 예제는 Node.js 프레임워크에서 Javascript 로 ZeroMQ 통신을 어플리케이션을 구현하였다.
본 예제는 npm 에 있는 zeromq 패키지 예제를 참고 하였습니다. (하단 링크)
zmp 발행자 코드
zmp 서버는 4242 포트에서 클라이언트 구독자를 바인딩한다. 바인드 되면, 주기적으로 메시지를 전송한다.
var zmq = require('zeromq')
, sock = zmq.socket('pub');
sock.bindSync('tcp://127.0.0.1:4242');
console.log('Publisher bound to port 4242');
setInterval(function(){
console.log('sending a multipart message envelope');
sock.send(['kitty cats', 'meow!']);
}, 500);
zmp 구독자 코드
zmp 클라이언트는 4242 포트를 통해 서버와 연결한다. 연결이 되면 메시지를 받아서 출력한다.
var zmq = require('zeromq')
, sock = zmq.socket('sub');
sock.connect('tcp://127.0.0.1:3000');
sock.subscribe('kitty cats');
console.log('Subscriber connected to port 3000');
sock.on('message', function(topic, message) {
console.log('received a message related to:', topic, 'containing message:', message);
});
이 예제의 전체소스코드는 makepluscode 의 github 에 공유 되어있다.
https://github.com/makepluscode/message-broker-examples/tree/main/002-zeromq-pubsub-nodejs
참고자료
npm 에 있는 zeromq 패키지 예제
ZeroMQ 메시지브로커 C++ 예제는 아래 글을 참고한다.
https://makepluscode.tistory.com/174
ZeroMQ 메시지브로커 C# C언어 예제는 아래 글을 참고한다.
반응형
'프로그래밍 > IoT' 카테고리의 다른 글
ZeroMQ 메시지브로커 NodeJS & C (0) | 2022.12.30 |
---|---|
ZeroMQ 메시지브로커 C++ 예제 (0) | 2022.12.03 |
ZeroMQ 메시지브로커 C# C언어 예제 (0) | 2022.12.03 |