2010-07-17 2 views
4

www.chatzy.com과 유사한 웹 기반 인스턴트 메시징 시스템을 만들고 싶습니다. 질문은 그것에 대해 가장 좋은 방법은 무엇입니까?웹 기반 인스턴트 메시징을 구축하는 가장 좋은 방법은 무엇입니까?

soley로 가서 Ajax 방식으로 이동합니다. 여기서 대화를위한 데이터베이스를 지속적으로 ping하고 업데이트하는 스크립트를 작성합니까?

또는 XMPP로 놀아 볼까요?

대답이 XMPP이면? XMPP가 이러한 서비스를 구축하는 데 어떻게 사용될 수 있는지 자세히 설명하는 온라인 리소스에 대한 모든 포인터에 감사드립니다. (Google을 통해 몇 가지 검색을 수행했지만 결과는 유행했습니다)

PHP를 사용하지만 파이썬도 이런 일을 처리 할 수있는 더 좋은 솔루션을 제공합니다.

감사 핑 (ping) 및 데이터베이스가 아주 좋은 옵션이 아닙니다 업데이트 할 AJAX를 사용하여

+1

사용자가 네트워크 외부의 다른 사용자에게 메시지를 보내도록 허용하려면 (사이트 채팅뿐 아니라) XMPP를 사용해야합니다. – Gumbo

답변

4

XMPP/허튼 소리는

  • 지금은 웹 기반의 IM을 작성하는 XMPP/BOSH를 사용합니다. 나는 Prosody을 지원하는 가장 쉬운 서버가 BOSH 인 것을 발견했다. 그렇다면 서버 측 코드를 전혀 작성할 필요가 없습니다. 파블로는 WebSocket을 볼 수 있었다 지적처럼
  • 그런 다음 자바 스크립트를 나는 strophe.js

미래

  • 을 사용합니다. 그러나 파블로는 Gmail에 대해 잘못 알고 있습니다. 웹 소켓을 사용하지 않습니다. 웹 소켓의 주요 단점은 브라우저 지원입니다. 그것은 미래이지만 아직 아닙니다.

잘못된

  • 폴링은 확장되지 않습니다. 나는 그것을 추천하지 않을 것이다.
+1

우리는 ejabberd를 우리 서버로 사용하며, BOSH를 즉시 지원합니다. Strophe를 기반으로 자체 JavaScript 클라이언트를 작성했지만 http://www.ijab.im/은 선반 클라이언트를 원할 경우 좋은 대안으로 보입니다. –

2

.

나는 약 WebSockets을 읽는 것이 좋습니다. 그것은 GMAIL이 (다른 사람들과) 채팅하는 방식입니다.

+0

WebSockets 프로토콜은 여전히 ​​변경 될 수 있습니다. 그리고 아직 많은 브라우저가 지원하지는 않습니다 (단지 가장자리 만 날려 버리기 때문에), 어떤 종류의 폴백을 사용해야합니다 : http://github.com/gimite/web-socket-js 일반적으로 이것이 길일 것입니다. . – igorw

1

PHP 및 자바 스크립트를 사용하여 개발하려는 경우 웹 응용 프로그램을 작성하기위한 Jaxl Framework를 확인하십시오. http://github.com/abhinavsingh/JAXL

jabber 서버로 ejabberd/prosody를 사용하면 처리량이 충분할 정도로 안정적이고 확장 가능합니다.

웹 소켓을 사용하는 것이 좋습니다. 그러나 모든 브라우저가 날짜까지 지원하지는 않습니다.

관련 문제