2010-02-01 6 views
0

Google은 웹 기반 응용 프로그램을 사용하여 문제, 지식 관리 및 채팅 시스템을 추적하고자합니다. 사용자가 로그인하면 사용자가 서비스 엔지니어와 채팅 할 수 있습니다.웹 브라우저에서 채팅 시스템 구현

브라우저 내에서 Ajax를 사용합니다. 하지만 서버 측에서는 채팅을 구현하는 방법을 잘 모릅니다. 채팅 기록은 측면에서보기 위해 저장해야합니다. 누군가가 채팅을 시작하면, 시스템은 이용 가능한 서비스 엔지니어를 찾아야 만 고객과의 인터페이싱을 시작할 것입니다.

더 나은 접근 방식으로 웹에서 채팅 시스템을 처리 할 수 ​​있습니까? 우리는 파이썬, PHP, Ruby/Rails, Grails 또는 .NET을 사용할 수 있습니다.

우리는 사용 가능한 시스템을 사용할 수 있으므로 우리의 응용 프로그램 내에 통합 될 수 있도록 사용 가능한 시스템에 더 나은 인터페이스/API가 필요합니다.

+5

재발견 해 주시겠습니까? 아니면 수천 가지 기존 제품 중 하나를 사용하여 라이브 채팅을 지원할 수 있습니까? –

+2

Erlang을 사용해 보셨습니까? 그것은 아마도 약간의 작업이 필요합니다. –

+0

우리는 사용 가능한 시스템을 사용할 수 있으며, 우리가 사용할 수있는 시스템에 더 나은 인터페이스/API를 필요로하므로 우리의 응용 프로그램 내에 통합 될 수 있습니다. –

답변

4

오. 이런 식으로 구현해야한다면 XMPP (재버) 서버를 사용합니다. 재발견하는 이유는 무엇입니까?

매우 안정적이며 기능이 풍부한 두 개의 서버, 즉(Erlang에서 구현 됨)과 OpenFire (Java에서 구현 됨)가 있습니다. 개인적으로는 구성하기가 더 쉽고 Java 개발자는 기능을 확장하고자 할 때 쉽게 찾을 수 있기 때문에 OpenFire을 선호합니다 ... 그러나 맛은 문제입니다.

웹 클라이언트의 경우 BOSH이라는 기술이 있습니다. X 초마다 요청으로 서버를 폴링하지 않고 사용 가능한 즉시 메시지를 수신 할 수 있습니다. BOSH는 XMPP 표준의 일부입니다. Strophe JS이라는 JavaScript 라이브러리가있어 웹 페이지에서 BOSH를 쉽게 활용할 수 있습니다. example implementation이 있습니다.

또한 웹 기반이 아닌 데스크톱 IM 클라이언트에 더 만족할 수 있습니다. XMPP를 사용하면 Jabber를 지원하는 기존 IM 클라이언트를 사용하여 자동으로 서비스에 연결할 수 있습니다.

사용 가능한 서비스 엔지니어를 선택하는 기능을 얻으려면 전체 서버가 아닌 약간의 서버 플러그인을 구현할 수 있습니다. 내역은 두 서버에서 모두 구성 할 수 있습니다.

결국 내 생각에 : 이미 서면 및 검증 된 XMPP 서버를 사용하고 Strophe JS 및 무료 서비스 엔지니어를 선택하는 약간의 플러그인을 사용하는 BOSH를 사용하십시오.

1

얼랭 사용을 고려 했습니까? 그것은 아마도 약간의 작업이 필요합니다.

원하는 모든 시스템을 알 수는 없지만 Erlang은 very easy to learn이고 사용자의 요구에 맞게 수정할 수있는 an example of a chat server이 있습니다.

분명히 저자와 먼저 삭제하십시오.

2

FastPath라는 웹 채팅 확장명을 가진 OpenFire이라는 XMPP (jabber) 서버를 실행합니다. 한 가지 단점은 우리 모두가 동일한 클라이언트 (스파크)를 사용하거나 비 스파크 클라이언트가 사라지는 위험 채팅 요청을 사용하도록 강제한다는 것입니다. 그러나 그것은 매우 사용자 정의가 가능하며 모든 활동 및 통계를 캡처 할 수 있습니다.