클라이언트에서 클라이언트 커뮤니케이션을 위해 어떤 TCP 프로토콜을 사용할 수 있습니까?

StackOverflow https://stackoverflow.com/questions/1240503

문제

많은 시간 고객은 웹 앱에 대한 Instant Messaging (IM) 및 기타 클라이언트 간 통신과 같은 기능을 요청합니다. 일반적으로 이것은 일반적인 웹 브라우저에서 어떻게 수행됩니까? 예를 들어 데모를 보았습니다 구글 웨이브 일반 브라우저에서 IM을 할 수있는 (및 Gmail). 이것은 HTTP를 통해입니까? 아니면 XMLHTTPREQUEST (AJAX)는 그러한 의사 소통에 필요한 백엔드를 제공합니까?

무엇보다 서버가 원격 클라이언트를 "깨우는"방법을 궁금해하고 IM을 보내라고 말씀 하시겠습니까? 아니면 클라이언트가 새로운 IMS의 메시지 서버를 "폴링"해야합니까?

도움이 되었습니까?

해결책

일반적으로 브라우저는 새 메시지에 대한 서버를 투표합니다. 이것을 더 효율적으로 만들기 위해 종종 수행되는 한 가지 방법은 '긴 설문 조사' (또한보십시오 이 링크) - 서버가 무엇이든 경우 즉시 응답합니다. 그렇지 않으면, 그것은 잠시 동안 연결을 열어두고 기다립니다. 메시지가 들어 오면 즉시 깨어나서 보냅니다. 그렇지 않으면 수십 초 후에 'Nope, Back'으로 돌아온다. 클라이언트는 즉시 길이가 길어진 상태로 돌아가서 즉시 재개합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top