TCP Module

  • var net = require('net');

ํด๋ž˜์Šค

  • net.Server
  • net.Socket

์„œ๋ฒ„ ์ƒ์„ฑ

  • var server = net.createServer(option)
  • server.listen(port)
  • server.close()
  • server.getConnections(callback) : ์—ฐ๊ฒฐ๊ฐฏ์ˆ˜
  • server.address() : ์„œ๋ฒ„ ์ฃผ์†Œ

Server Event

  • listening : ํฌํŠธ ๋ฐ”์ธ๋”ฉ, ์ ‘์† ๊ฐ€๋Šฅํ•œ ์ƒํƒœ ์ด๋ฒคํŠธ
  • connection : ํด๋ผ์ด์–ธํŠธ ์ ‘์† ์ด๋ฒคํŠธ
  • close : ์„œ๋ฒ„ ๋‹ซ๊ธฐ(์—ฐ๊ฒฐ๋œ ์†Œ์ผ“์ด ์—†์„ ๋•Œ๋งŒ ๋ฐœ์ƒ)
  • error : ์—๋Ÿฌ
var net = require('net');
var server = net.createServer(function(socket) {
    // connection event
    console.log('ํด๋ผ์ด์–ธํŠธ ์ ‘์†');
    socket.write('Welcome to Socket Server');
 
    socket.on('data', function(chunk) {
        console.log('ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ณด๋ƒ„ : ',
        chunk.toString());
    });
 
    socket.on('end', function() {
        console.log('ํด๋ผ์ด์–ธํŠธ ์ ‘์† ์ข…๋ฃŒ');
    });
});
 
server.on('listening', function() {
    console.log('Server is listening');
});
 
server.on('close', function() {
    console.log('Server closed');
});
 
server.listen(3000);

Client event

  • connect : ์†Œ์ผ“ ์—ฐ๊ฒฐ ์ด๋ฒคํŠธ
  • data : ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ๋„์ฐฉ
  • end : ์†Œ์ผ“ ์ข…๋ฃŒ
  • timeout : ์ œํ•œ ์‹œ๊ฐ„ ์ง€๋‚จ
  • error : ์—๋Ÿฌ
var net = require('net');
 
var ip = '127.0.0.1';
var port = 3000;
 
var socket = new net.Socket();
socket.connect({host:ip, port:port}, function() {
   console.log('์„œ๋ฒ„์™€ ์—ฐ๊ฒฐ ์„ฑ๊ณต');
 
   socket.write('Hello Socket Server\n');
   socket.end();
 
    socket.on('data', function(chunk) {
        console.log('์„œ๋ฒ„๊ฐ€ ๋ณด๋ƒ„ : ',
        chunk.toString());        
    });
 
    socket.on('end', function() {
        console.log('์„œ๋ฒ„ ์—ฐ๊ฒฐ ์ข…๋ฃŒ');
    });
});

Udp

  • require('dgram')
  • dgram.Socket

event

  • listening : ๋ฐ์ดํ„ฐ ๋„์ฐฉ ๊ฐ์‹œ
  • message : ๋ฐ์ดํ„ฐ ๋„์ฐฉ ์ด๋ฒคํŠธ
  • close : ์†Œ์ผ“ ์—ฐ๊ฒฐ ์ข…๋ฃŒ ์ด๋ฒคํŠธ
  • error : ์—๋Ÿฌ ๋ฐœ์ƒ ์ด๋ฒคํŠธ

Send

var dgram = require('dgram');
var socket = dgram.createSocket('udp4');
 
var msg = new Buffer('Hello UDP Receiver');
socket.send(msg, 0, msg.length, 3000, '127.0.0.1',
    function(err) {
        console.log(err);
        if ( err ) {
            console.log('UDP message send error', err);
            return;
        }
        console.log('๋ฉ”์„ธ์ง€ ์ „์†ก ์„ฑ๊ณต');
        socket.close();        
    }
);

Receive

var dgram = require('dgram');
var socket = dgram.createSocket('udp4');
socket.bind(3000);
 
socket.on('listening', function() {
    console.log('listening event');
});
 
socket.on('message', function(msg, rinfo) {
    console.log('๋ฉ”์„ธ์ง€ ๋„์ฐฉ', rinfo.address, msg.toString());
});
 
socket.on('close', function() {
    console.log('close event');
});

Multicast

  • socket.addMembership