Orbited의 Michael Carter씨가 자신이 웹 브라우저에서의 소켓이라고 부르는 것에 대한 글을 쓰셨습니다. 다음처럼 간단히 구현할 수 있습니다:

[code:js]
var conn = new TCPSocket(hostname, port)
 
conn.onopen = function() { alert('connection opened!') }
conn.onread = function(data) { alert('RECEIVE: ' + data) }
conn.onclose = function(data) { alert('connection closed!') }
 
conn.send('Hello World');
상단의 코드가 아셔야 할 전부입니다. 호스트이름:포트에 TCP 접속을 열고, "Hello world"라는 데이터를 보냅니다. 서버로부터 보내진 어떠한 데이터든 onread 핸들러를 사용해 alert 될 것입니다.

이 놀라운 것 뒤의 정확한 메커니즘은 꽤나 직접적입니다: Orbited다가 웹 브라우저로부터 수신하는 TCPSocket 접속의 라우터이자 방화벽이 되는 것입니다. 웹 브라우저와 양방향 통신을 하기 위해 Comet 기술을 사용했고, raw TCP 소켓상의 모든 데이터는 도착점으로 보내집니다. 설정을 통해 접근 제어를 강화할 수 있어 TCPSocket은 미리 승인된 도착점에만 접속할 수 있으며, 따라서 Orbited 서버가 공개된 릴레이 서버로 이용되지 않습니다.

이것이 웹 개발자들이 목매는 오늘날의 실시간 웹 기반 프로그램에 있어 패러다임의 변화를 나타내기는 하지만, 사실은 네트웍 프로그램을 작성하는 원래의 방법을 되돌려 준 것입니다. 여러분은 웹 프레임웍 기반의 프로그램을 작성하고 Comet 서버를 혼란속에 던져두는 대신, 브라우저가 클라이언트이고 서버가 임의의 TCP 서버인 클라이언트-서버 아키텍처를 간단히 사용하면 됩니다.
from TCPSocket: Sockets in the browser
TAG
Posted by 행복한고니 트랙백 0 : 댓글 0

댓글을 달아 주세요