Node js를 이용하여 UDP Server와 Client 만들기

By lhcsoft - 3월 22, 2019

udp 서버를 C, Java 등으로 구현하려면, 수신 기능을 위해 thead를 형식으로 만들어야 한다. 
thread 지원으로 인해 interrupt등 thread 제어와 관련된 많은 코드들이 추가되어야 한다.


그러나, node를 이용하여 구현한다면 단 몇라인의 코드로 udp 서버를 구현할 수 있다.

node는 기본적으로 이벤트 방식으로 동작하기 때문에 thread와 같은 기능을 사용하지 않고, callback function만 등록을 해 놓으면 데이터를 수신받을 수 있기 때문이다.


즉, node js를 이용하면 udp 서버를 단 몇 분만에 쉽게 구현할 수 있다.



다음은 node js를 이용하여 udp 서버 소스이다.

상기 소스는 udp통신을 이용하여 12,000 포트쪽으로 수신되는 데이터를 받는 기능을 수행한다.
udp 패킷 데이터는 'message' 이벤트에 등록된 function의 message parameter로 전달된다.

상기 소스에 대한 설명은 다음과 같다.
1) server.bind(PORT, HOST);
   - udp 데이터를 수신받기 위한 ip와 port를 등록한다.
2) server.on('listening', function () { ... }        
    - udp 서버가 초기화 되고 데이터를 수신받을 준비가 되었을때 callback 된다.
3) server.on('message', function (message, remote) { ... }
    - udp 패킷 데이터가 수신될때 callback 된다.
    - message parameter를 통해 수신데이터가 전달된다.


다음은 node js를 이용하여 udp 클라이언트 소스이다.

상기 소스는 ip 127.0.0.1 시스템의 12,000 포트쪽으로 udp 데이터를 송신하는 기능을 수행한다.


상기 소스에 대한 설명은 다음과 같다.

1) client.send(message, 0, message.length, PORT, HOST, function(err, bytes) { ... }
   - message 필드의 데이터를 지정한 HOST의 PORT쪽으로 udp 패킷으로 전송한다.


이와 같이 node js를 이용하면 간단한게 udp 통신프로그램을 구현할 수 있다.



읽어주셔서 감사합니다.


  • Share:

You Might Also Like

0 개의 댓글