Socket.IO도 결국은 리프레쉬??
Socket.IO을 보면 결국 setTimeout를 이용한 비동기식 재귀 호출하는 방식이 아닌가요?
이를 이용한 node.js로 데이터를 받는 역활을 하는것이고요.
Socket.IO 소스를 열어본 제 개인적인 생각입니다.
개인적으로 궁금했거든요.
|
댓글을 작성하시려면 로그인이 필요합니다.
로그인
프로그램
태그 필터 (최대 3개)
전체
개발자
소스
기타
mysql
팁자료실
javascript
php
linux
flash
정규표현식
jquery
node.js
mobile
웹서버
os
프로그램
강좌
썸네일
이미지관련
도로명주소
그누보드5
기획자
견적서
계약서
기획서
마케팅
제안서
seo
통계
서식
통계자료
퍼블리셔
html
css
반응형
웹접근성
퍼블리싱
표준화
반응형웹
홈페이지기초
부트스트랩
angularjs
포럼
스크린리더
센스리더
개발자톡
개발자팁
퍼블리셔톡
퍼블리셔팁
기획자톡
기획자팁
프로그램강좌
퍼블리싱강좌
댓글 7개
웹소켓 프로토콜이 지원되는 브러우져는 웹소켓 프로토콜을 이용한 통신
그렇지 않은 브러우져는 롱폴링으로 접속이되록해주는 역활이라 보면됩니다.
제가 위와 같은 타이틀을 했던건...
결국 아직까진 html5가 현재 퍼포먼스나 여러가지 측면에서 활용도가 참으로 좋지만
아직까지 지원이 안되는 환경에서 이용하는 사용자도 상당하므로 그 점을 고려하였을 경우에
위와 같은 방법을 사용해서 여러 채팅을 구현한 사이트를 분석해본 결과 결국은 폴링에서
크게 벗어나지 않는 방법을 택하고 있다라는 생각이 들더군요.
하지만 html5는 정말 손쉽게 많은 활용도있는 퍼포먼스를 낼 수 있다라는건 맞는것 같습니다.
php 웹소켓 라이브러리를 받아서 일부 수정하여 웹소켓 + 플래시를 이용하여 pc에서는 대부분 문제없이 되는 것 같아요.
근데 말씀하신 것 처럼 지원안되는 환경들이 모바일에서 있더라구요.
삼성 갤럭시3나 노트1도 그렇고 . 소켓만으로 딱 오는 한계더군요. - 갤3는 플래시 설치하니 되더군요.
그러다보니 Socket.IO 가 참으로 물건이러라구요(테스트만 해봤어요).
요즘 홈페이지들도 IE9 이상을 요구하는 곳들도 점차 늘어나는 걸 보면
Socket.IO도 웹소켓만으로 작동하는 날이 오면 고민 할 일 없어지겠죠 ㅎ
아마 그 이상도 가능할지도 모르겠네요...전 해본적이 없어서 말이죠~~~~~;;;;
괜찮으시다면 사이트 구경도 함 시켜주세요^^
모바일에선 대부분 그냥 웹소켓을 바로 쓸 수 있고, IE 옛날 버전의 경우엔 플래시로 돌아갈 가능성이 가장 큽니다.
http://caniuse.com/#search=websockets
Socket.IO는 웹소켓보다 상위 레벨이고, 좀더 로우레벨 웹소켓과 같은 걸 원하시면 SockJS를 쓸 수도 있습니다.
http://sockjs.org/
socket.io node.js를 활용하여 채팅을 구현하고자할때와 기존 사용되고 있는 소스를 뜯어보면
순서가 웹소켓,플래시,xhr폴링,제이슨 이렇게 되더군요
아직까진 웹소켓이 표준이 아니지만 위와 같이 순서로 로드되어 사용되게 한다라는건 그만한 이유가 있다고 봅니다.
아무튼 제 생각에도 말씀하신 바와 같이 웹 하위 버젼 데스크탑에서는 플래시 사용이 가장크고
모바일에서는 폴링을 사용할 가능성이 높다고 봅니다.
저는 socket.io node.js를 이용하여 만들어본적은 없지만 어디까지나 소스 뜯어보고 분석을 해본 제 생각입니다
그리고 말씀해주신 SockJs도 보왔는데 폴링 방식이더라구요.
SockJS 설명을 보시면 “Polling transports are used as a fallback for old browsers and hosts behind restrictive proxies.”라고 명시적으로 나와있죠.