2009-04-14 7 views
2

텔넷으로 연결할 수있는 채팅을했습니다. 내 채팅은 현재 Twisted TCP Server로 구현됩니다. 브라우저의 채팅으로 변환하려면 어떻게해야합니까?트위스트로 웹 채팅하기

정적 HTML과 동적 콘텐츠를 동시에 제공하려면 혜성 서버 (예 : 궤도)를 사용해야한다고 가정합니다. 그런 혜성 서버가 빠르고 믿을 수있는 채팅에 필요합니까?

답변

1

혜성은 특별한 것을 사용하지 않고 최상의 옵션입니다 (플래시 참조, 아래 참조). 이는 입증 된 기술이며 Gmail의 채팅 및 Facebook의 채팅과 같은 많은 대형 사이트에서 사용됩니다.

유일한 다른 옵션은 폴링이지만 서버에서 약간의 격렬한 영향을받을 수 있습니다. 기본적으로 속도에 비해 서버로드를 가중시켜야합니다. 자주 폴링하면 응답 속도가 빠른 클라이언트를 얻을 수 있지만 서버에 많은로드가 걸립니다. 설문 조사가 너무 적어서로드 라이트를 유지하지만 클라이언트는 메시지가 모두 n 초일 때만 수신 할 수 있으므로 느리게 보일 수 있습니다.

폴링을 결정하면 항상 "백 오프"시스템을 만들 수 있습니다. 예를 들어, 페이지는 2 초마다 확인하여 전송 된 채팅 메시지가 있는지 확인합니다. 이 작업을 5 번 수행하고 아무것도없는 경우 지연을 3 초로 늘립니다. 이것을 5 번하고 아무 것도하지 않으면 4 초가됩니다. 채팅 메시지가 전송되면 최단 지연 시간으로 되돌아갑니다.

플렉스 또는 플래시 클라이언트를 사용하는 것이 더 좋습니다. 이렇게하면 데이터가있는 경우에만 데이터를 보내는 TCP 소켓을 사용할 수 있습니다. 그러나 그것은 귀하가 귀하의 사이트에 실제로 Flash 응용 프로그램을 원할 때만 가능합니다.

+0

고마워, 혜성 서버가 채팅 앱이 요청없이 브라우저에 데이터를 전송할 수있는 인터페이스를 제공한다는 것은 맞습니까? "이렇게하면 데이터가있는 경우에만 데이터를 보내는 TCP 소켓을 사용할 수 있습니다." - Flash를 사용하면 Telnet과 동일한 백엔드 애플리케이션을 사용할 수 있습니다. – Alex

+0

아직도 Comet으로 요청을해야하지만, 그 기술은 기본적으로 매우 긴 설문 조사입니다. 귀하의 웹 페이지는 PHP 페이지를 요청하지만, PHP 요청은 서버가 실제로 보낼 데이터를 가질 때까지 열려 있습니다. 이 "긴 설문 조사"는 정기적 인 설문 조사와 반대되는 몇 분간 지속될 수 있습니다 ... (계속) – ryeguy

+0

... 보내지 않을 경우 신속하게 확인하고 반환합니다. http://www.zeitoun.net/articles/comet_and_php/start에서이 예를 볼 수 있습니다. 그리고 예, 플래시로 TCP를 선택하면 텔넷도 TCP에서 작동하므로 텔넷을 사용할 수 있습니다. 그러나 텍스트 기반 프로토콜을 사용해야합니다. – ryeguy

0

예! www.meebo.com을 확인하십시오! 혜성을 기본 플랫폼으로 사용합니다!

관련 문제