본문 바로가기
프로그래밍/IoT

Node.js 로 구현한 ZeroMQ 통신

by makepluscode 2022. 12. 3.
반응형

ZeroMQ 메시지브로커 Node.js 예제

ZeroMQ 는 메시지브로커 라이브러리로서 C, C++, C#, 자바스크립트, 다양한 언어를 지원한다. 임베디드 개발에서 사용할 수 있는 메시지브로커 라이브러리 이다. 이 예제는 Node.js 프레임워크에서 Javascript 로 ZeroMQ 통신을 어플리케이션을 구현하였다.

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

 

GitHub - makepluscode/message-broker-examples

Contribute to makepluscode/message-broker-examples development by creating an account on GitHub.

github.com

참고자료

npm 에 있는 zeromq 패키지 예제

www.npmjs.com/package/zeromq  

 

zeromq

Next-generation ZeroMQ bindings for Node.js. Latest version: 6.0.0-beta.16, last published: 15 days ago. Start using zeromq in your project by running `npm i zeromq`. There are 353 other projects in the npm registry using zeromq.

www.npmjs.com

ZeroMQ 메시지브로커 C++ 예제는 아래 글을 참고한다.

https://makepluscode.tistory.com/174

 

ZeroMQ 메시지브로커 C++ 예제

ZeroMQ 메시지브로커 C++ 예제 ZeroMQ 는 메시지브로커를 구현한 라이브러리 이다. ZeroMQ 는 C, C++, Javascript 등, 다양한 버전으로 배포된다. 임베디드 개발 과정에서 간단한 메시지브로커 라이브러리가

makepluscode.tistory.com

ZeroMQ 메시지브로커 C# C언어 예제는 아래 글을 참고한다.

https://makepluscode.tistory.com/171

 

ZeroMQ 메시지브로커 C# C언어 예제

C# 과 C 로 구현한 ZeroMQ message broker ZeroMQ 는 메시지브로커 라이브러리로서 C, C++, C#, 자바스크립트, 다양한 언어를 지원한다. 임베디드 개발 과정에서 사용할 수 있는 간단한 메시지브로커 라이브

makepluscode.tistory.com

반응형

'프로그래밍 > IoT' 카테고리의 다른 글

ZeroMQ 메시지브로커 NodeJS & C  (0) 2022.12.30
ZeroMQ 메시지브로커 C++ 예제  (0) 2022.12.03
ZeroMQ 메시지브로커 C# C언어 예제  (0) 2022.12.03