검색결과 리스트
글
///// Nodejs (노드제이에스
///// 기본
- 모듈 - 하나의 js 파일은 하나의 모듈, 모듈끼리 접근X, exports로 public접근자처럼 설정이 된다.
- require() - 다른 js파일을 불러오기, (기본,확장모듈은 파일명만 적고, 그외는 ./ 또는 ../를 사용한다)
- module.exports - 모듈 외부로 노출할 변수를 지정할 때
- 노드 코딩 관례 - http://github.com/issacs/npm/blob/master/doc/cli/coding-style.md)
- 파일 읽기 예제)
var fs = require('fs');
fs.readFile('./test.txt', encoding='utf-8',function(err, data){
if(err) throw err;
console.log(data);
}
- WEB Server 예제)
var server = require('http');
server.createServer(function(req, res){
res.writeHead(200, {'Content-Type':'text/plain'});
res.end('Hello World\n');
}).listen(3000, 'localhost');
///// 기본 모듈
- API문서 참조 : http://nodejs.org/docs/lastest/api/index.html
process
utilities
events
buffers
streams
crypto
tls/ssl
file system
path
net
udp/datagram sockets
dns
http
https
url
query strings
readline
vm
child processes
assert
tty
zlib
os
cluster
///////////////////////// NPM (Java의 Maven 같은 것)
- 참조 : http://npmjs.org/
- 의존성 라이브러리 관리자
- 중앙저장소에서 확장 모듈을 관리
- package.json
- npm install express -g
- express projectname
- npm install express jade
- npm install socket.io
///// jade 뷰 템플릿 엔진 (Java Web의 jsp)
if else
each
include
block
extends
mixin
///////////////////////// Socket.IO
////////////////////
///// 서버에서 /////
////////////////////
///// 기본 설정
var http = require('http')
, io = require('socket.io);
var server = http.createServer(function(req,res){});
server.listen(3000);
io = io.listen(server);
io.configure(function(){
io.enable('browser client etag');
io.set('log level', 3);
io.set('transports', ['websocket', 'flashsocket', htmlfile', 'xhr-poling', 'jsonp-polling']);
});
///// 일반 웹소켓으로 클라이언트
io.sockets.on('connection', function(socket){});
///// 네임스페이스 웹소켓으로 클라이언트에게 수신받기
var io = io.of('/another').on('connection', function(socket){
socket.send('문자열');
});
///// 현재 연결된 소켓을 제외, 서버에 접속한 모두에게 보내기
// socket.broadcast.send();
// socket.broadcast.emit();
// socket.broadcast.to('room name').send();
// socket.broadcast.to('room name').emit();
///// 현재 서버에 접속한 모두에게 보내기
// io.sockets.send();
// io.sockets.emit();
// io.sockets.in('room name').send();
// io.sockets.in('room name').emit();
///// 저장소(소켓 스토레지 랄까?)
// socket.set('key', 'value', function(){});
// socket.get('key', function(err, data){});
///// 방
// socket.join('room name');
// socket.leave('some room');
///////////////////////////////////
///// 서버 & 클라이언트 둘 다 /////
///////////////////////////////////
///// 문자열 보내기
socket.send('문자열');
///// JSON 보내기
socket.json.send({});
///// 자동 JSON 인-디코딩
socket.emit('event name', {});
- 전달 확인 콜백 함수가 특이하다. 서버에서 송신하면 클라이언트의 콜백함수에서 보낸 값을 다시 받아서 출력
///// 휘발성 메세지(전송하고 신경 안씀)
socket.volatile.emit('event name', data);
///// 이벤트
- 기본 예약된 이벤트 message, connect, disconnect, open, close, error, retry, reconnect
- 그외 커스텀 이벤트 가능
// (클라이언트만) 웹소켓 서버에 접속했을 때
socket.on('connect', function(){});
// 웹소켓 서버가 send()한 것 수신
socket.on('message', function(){});
/////////////////////////
///// 클라이언트에서 /////
/////////////////////////
- 기본설정
var socket = io.connect('http://localhost:3000', {
'reconnect':true
,'resource':'socket.io'
});
///// 네임스페이스 웹소켓 서버에 접속
var socket = io.connect('/another');
///// 참조
http://blog.naver.com/silver889/220055458051
http://blog.naver.com/azure0777/220469049820
http://blog.naver.com/ruleoutlife/90165018945
http://blog.naver.com/the602/220076457120
http://blog.naver.com/solveany/220461729215
http://mudchobo.tistory.com/525
- 게임 (WebSocket기반)
http://browserquest.mozilla.org/
- 웹호스팅
헤로쿠(heroku): http://heroku.com
'LANGUAGE > NODE.JS' 카테고리의 다른 글
[Bower] 시작하기 (0) | 2016.09.14 |
---|---|
[Nodejs] Request to REST API Server (0) | 2016.03.13 |
[Nodejs] nodemon, supervisor (0) | 2016.01.16 |
[Nodejs] forever (0) | 2016.01.16 |
[Nodejs] 최초 설치 (0) | 2015.07.21 |