728x90


여러분은 웹프로그래밍을 배우게 되면 채팅을 구현하게 되는 경우가 많다.

사실 채팅 자체를 구현하는것 보다는 웹에서 양방향으로 보내는 방법이 큰 이슈일 것이다.

웹에서 양방향을 보내는 방법은 크게 보면 두종류가 있다.


꼼수 vs 웹소켓


...

좀 대책없어 보일 순 있는데 사실이다.

왜냐하면 근본적인 방법은 같기 때문이다.


웹소켓은 뭐 따로 논할건 없다.

웹소켓을 사용하는건 크게 두가지로 나뉜다.


socketio vs web socket

사실 socketio는 정말 web socket으로 동작할지는 아무도 모른다.

브라우저버전에 따라서 맞게 선택할 뿐, socketio를 web socket으로 동작할 수도 있다는 것이다.

만약 socketio모듈이 web socket방식을 택할수 없다면 다른 방법들을 사용해서 마치 소켓을 사용하는것 처럼 흉내내서 사용하게 된다.


그 기술들의 목록은 아래와 같다.


WebSocket

FlashSocekt

Long Polling

Hidden Iframe

Multi part Streaming

JSONP Polling


이중에서 이번에 해볼 것은 Long Polling이다.

사실 대부분의 환경에서 Web Socket을 못쓴다면 차선책으로 선택하는 것이 바로 Long Polling 이다.

Long Polling의 구현원리는 이 포스팅에서 확인할 수 있다.


개발자는 코드를 봐야지, 전체 코드는 이 레포지터리에서 다운받을 수 있다.

클라이언트와 서버를 나눠서 보도록하자.



클라이언트의 코드는 큰 특징은 없지만 보내는 부분이 어떠한 경우에도 무한정 보낸다는것을 알 수 있다.

long polling은 서버쪽도 짝짝꿍이 잘 맞아야한다.

이제 서버쪽 코드를 보도록하자.

서버쪽은 express framework위에서 돌아간다.



이제 소개가 끝났으므로 시연을 보도록하자.




잘 동작하는지 보도록 하자.

+ Recent posts