Meteor는 Web Application이지만 기존 HTTP 통신을 최초에 자원을 읽어올때 한번만 사용하고 그 이후로는 DDP(Distributed Data Protocol https://www.meteor.com/ddp )를 이용하여 자료교환을 합니다. Meteor 작동방식( http://meteorhacks.com ) DDP를 Websocket을 위한 REST라고 이야기하기엔 결정적으로 다른 차이점 하나가 있다. HTTP의 경우는 요청(Request)을 하면 응답(Response)를 주는 방식으로 연결이 유지가 되지 않는 반면, DDP 는 기본적으로 Connection을 한번 맺으면 클라이언트와 계속 연결을 유지하면서 실시간 송수신을 주고 받는다. DDP는 WebSocket을 사용하고 SockJS를 사용하여 XMLHttpRequest 로 대체하기도 한다. 어떤 식으로 전송/수신을 하는지 Chrome의 Developer Tools를 통해 WebSockets 흐름을 한번 살펴보자. DDP Websocket 캡쳐화면 Meteor에서 클라이언트/서버간 통신하는 내용을 살펴보면 의외로 별게 없는데 Random.id()로 생성한 id값과 msg 종류. name 이름과 나머지 인자값들이 전부다. 클라이언트쪽에서 보면 1. 연결 요청(connect)한다. { "msg":"connect", "version":"pre2", "support": ["pre2","pre1"] } 2. subscribe 한다. { "msg":"sub", "id":" j9jDEAyCxPnNELqGE ", /* 이 id로 ready를 받는다 */ "name":"
Meteor evangelist, IoT, Renoise, Lua, Javascript, Coffeescript