2009-06-30 3 views
2

XMLHttpRequests는 업데이트 빈도가 30 초 이상인 콘텐츠에 가장 적합하다고 읽었습니다. 같은 기사에서 더 빠른 빈도가 필요한 웹 응용 프로그램은 소켓을 사용해야한다고 언급했습니다. 나는 이것을 언급하는 기사/책을 찾을 수 없다. (누군가가 이것을 토론하는 기사에 대한 링크를 게시 할 수 있다면, 나는 그것을 고맙게 생각한다). XMLHttpRequest 및 소켓에 대한 귀하의 경험이 위의 주장을 뒷받침합니까? 브라우저와 서버 간의 다른 유형의 연결을 고려해야합니까?XMLHttpRequest 대 소켓 다른 접근 방식

답변

3

자바 스크립트는 진정한 소켓 통신을 수행 할 방법이 없습니다. SWF 도우미, ActiveX 또는 기타 기술없이 Javascript에만 잠긴 경우 XMLHttpRequest가 최선의 방법입니다.

XMLHttpRequest는 구문 분석 및 결과를 구문 분석하고 결과를 파싱하는 데 소요되는 오버 헤드 때문에 더 자주 업데이트 (이론적으로는 최소한)에 적합하지 않습니다. 이론적으로, 소켓 연결은 모든 요청 생성을 거치지 않고 서버로 파이프를 되돌려줍니다.

소켓을 사용하는 단점은 (자바 스크립트가 직접 지원하지 않는다는 것 외에도) 소켓 연결을 통해 다시 오는 데이터에 대해 사용자 지정 직렬화 형식을 사용하면 작성한 코드 만 결과를 소비 할 수 있다는 것입니다 (공개하지 않는 한 당신의 직렬화 형식). 그것은 당신을 위해 문제가되지 않을 수 있지만, 일부는 여기에

는 SWF 도우미와 자바 스크립트에서 소켓의 작은 데모의 ... showstopper입니다 :

SocketJS

2

대답에 더있다 업데이트 빈도보다. 동시 사용자 수는 Comet (더 많은 기사로 연결되는 키워드)을 사용하여 서버 연결을 사용하고 확장 할 수 없으므로 중요합니다. 최신 웹 서버는 더 많은 연결을 처리하는 것이 더 좋지만 자신의 환경에서이를 테스트해야합니다.

나를 위해 심지어 30 초가 AJAX를 사용하는 데 너무 많습니다. 내 한계는 아마도 1 분 전후 일 것입니다.

-1

이 기사는 이제 일자로 간주됩니다. 최신 브라우저는 1 초 빠른 요청 처리에 문제가 없습니다. Google이 귀하의 검색에서 얼마나 빨리 추측 할 수 있는지보십시오. 간단한 XMLHttpRequest 호출. 플래시 없음. ActiveX가 없습니다.

관련 문제