root / HServer / 00.Server / 00.Program / udp_modules / udpMulticast.js
이력 | 보기 | 이력해설 | 다운로드 (826 Bytes)
1 | 39 | HKM | 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; |