안드로이드 브라우저를위한 웹 소켓 대안

안드로이드 운영 체제에 포함 된 웹 브라우저는 웹 서버와 웹 클라이언트 또는 브라우저간에 지속적인 연결을 유지하는 프로토콜 인 웹 소켓을 지원하지 않습니다. 따라서 비동기식이 아닌 영구 연결이 필요한 Android와 호환되는 웹 사이트를 디자인하려는 경우 몇 가지가있는 WebSocket 대신 필요하며 구현은 무료입니다. BOSH, Google Application Programming Interface 및 Comet과 같은 프로그래밍 구현은 모두 지속적인 연결 방법을 제공합니다.

WebSockets 기본 사항

WebSockets의 대안을 사용하여 개발하려면, 그들이 무엇인지를 아는 것이 도움이됩니다. 전통적으로 클라이언트 브라우저와 서버 사이의 비동기 통신을 중심으로 진행된 "웹 2.0"개발과 달리 WebSockets는 둘 사이의 개방 된 연결을 유지합니다. 비동기 통신은 사용자의 브라우저 부분에서 끊임없이 "폴링"또는 확인이 필요합니다. 즉, 브라우저가 새로운 정보가 문서에 있는지 여부를 모르게 서버에 요청해야합니다. 웹 소켓 (WebSockets)은 이것을 없애 브라우저와 서버 간의 지속적인 연락을 유지합니다. 어떤 대안도 똑같은 것을 성취해야합니다.

보쉬

기본 Android 브라우저는 WebSocket을 지원하지 않으므로 다른 프레임 워크를 구현해야합니다. 동기식 HTTP를 통한 양방향 스트림은 이러한 대안 중 하나를 제공합니다. BOSH는 연속적인 TCP 통신 회선의 구현을 모방합니다. BOSH에서 실제로 보낼 데이터가있을 때까지 서버는 브라우저 요청에 응답하지 않습니다. 또한 요청 후 두 번째 HTTP 연결이 만들어지기 전까지 서버는 데이터에 대한 클라이언트 연결을 수락하지 않습니다. 즉, 즉각적인 연결은 볼 수있는 페이지와 관련된 데이터가 존재하거나 전송 될 때만 발생하며 대역폭과 속도 저하를 줄이며 웹 페이지로드 속도를 높입니다.

Google 채널 API

Google 채널 API는 Google 서버와 Google 페이지 및 응용 프로그램간에 열린 연결을 유지합니다. JavaScript 클라이언트를 사용하여 API를 구현하면 페이지 또는 애플리케이션이 Google 서버에 대한 안전한 연결을 만들 수 있습니다. Google 서버는 반복적 인 폴링없이 일정한 데이터 스트림을 보낼 수 있습니다. 이를 통해 실시간 업데이트가 가능하며, 헤드 투 헤드 (head-to-head) 게임을 실행하는 페이지 및 앱에 매우 유용합니다. Google 호환 애플리케이션을 개발하려는 경우에 편리합니다.

혜성과 AJAX

앞의 예제는 서로 다른 방법을 통해 동기식 연결이 유지되는 방법을 보여 주지만, 열린 프레임 워크 내에서 AJAX 연결 유형을 사용하여 비동기 폴링을 유지하려고 시도합니다. Comet은 서버가 폴링되지 않고 데이터를 전송할 수있는 표준을 제공함으로써 대역폭 비용 및 속도 저하를 비롯한 클라이언트 폴링 문제를 완화하려고합니다. 그러나 Comet은 브라우저가 코딩 및 요청 처리와 같은 필수 기술 부분을 동일한 방식으로 사용하지 않기 때문에 구현 문제를 발생시킵니다.

인기 게시물