프로젝트

일반

사용자정보

통계
| 개정판:

hrz_sv / 00.Server / 00.Program / udp_modules / udpMulticast.js

이력 | 보기 | 이력해설 | 다운로드 (826 Bytes)

1
var dgram = require('dgram');
2
var ip = require('ip');
3

    
4
var udpMulticast = {};
5

    
6
var Message = { 'IP':ip.address(), 'PORT':3000 }
7

    
8
var news = [
9
     JSON.stringify(Message)
10
];
11

    
12
var server = dgram.createSocket("udp4");
13

    
14
// 서버가 바인드 되는 시점부터 일정 시간마다 udp 를 쏴준다.
15
// setInterval 에 3000 을 넣었다면 반복 시간은 3초이다.
16
server.bind( function(){
17
    server.setBroadcast(true);
18
    server.setMulticastTTL(128);
19
    setInterval(broadcastNew, 6000);
20
});
21

    
22
function broadcastNew(){
23
    var message = new Buffer(news[Math.floor(Math.random()*news.length)]);
24
    server.send(message, 0, message.length, 11000, "224.1.1.1");
25
    console.log("UDP Sent " + message);
26
}
27

    
28
udpMulticast.send = function( ){
29
    broadcastNew();
30
};
31

    
32
module.exports = udpMulticast;