웹사이트 사용자 기반을 위한 인스턴트 메신저 프로그램을 어떻게 만들겠습니까?

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

  •  16-09-2019
  •  | 
  •  

문제

나는 myspace/facebook 유형 커뮤니티와 디자인이 비슷한 소셜 네트워크 사이트를 가지고 있으며 LAMP 설정에서 php/mysql을 사용하고 있습니다.
나는 항상 AIM과 유사하게 사용자의 PC에서 작동하는 나만의 인스턴트 메신저를 갖고 싶었습니다.

내 사이트에서는 프로그램의 친구 목록이 내 사이트의 사용자로 구성되고 옆에 사용자 이미지를 표시한다는 의미입니다.

내 사이트의 프로필에 대한 이름과 링크.

이제 나는 이것이 가능하다는 것을 알고 있지만 그것을 원하지 않게 만드는 것은 서버 리소스가 필요하다는 것입니다.그래서 나는 묻는다.

만약 당신이 이 일을 하게 된다면 어떻게 하시겠습니까?

.exe 프로그램을 어떤 언어로 만드시겠습니까?

사용자 사이의 각 메시지가 내 mysql DB에 도달하지 않도록 사용자를 다른 사용자에게 연결하도록 하는 방법이 있습니까?

모든 팁/조언/제안을 환영합니다.

도움이 되었습니까?

해결책

Jabber의 핵심 프로토콜 인 XMPP를 사용하는 것이 좋습니다.

http://xmpp.org/

Google Talk와 같이 많은 웹 사이트가 사용하는 프로토콜입니다.

로그를 분명히 유지하려면 데이터베이스가 필요합니다. 순전히 실시간 인 경우 데이터베이스를 통해 메시지를 저장할 필요가 없습니다.

웹 사이트에서 Ajax 채팅 기능을 원한다면 온라인으로 검색해야합니다. 만약 다목적 채팅 서버를 원한다면 Jabber 또는 IRC를 사용하십시오.

다른 팁

Java (및 XML) 또는 기타 언어를 사용하는 코딩 비누 (간단한 개체 액세스 프로토콜)가 훨씬 쉽고 빠릅니다.

P2P 채팅에는 모든 종류의 p2p 시스템과 동일한 함정이 있으며 이는 거의 모든 사람이 하드웨어 방화벽 뒤에 앉아 있다는 것입니다.실제로 그들 중 방화벽 규칙을 변경하는 방법을 아는 사람은 아무도 없으며 어쨌든 그럴 사람은 더 적습니다.

하지만 채팅 서버가 DB에 도달하도록 할 필요는 없습니다.가장 간단한 채팅 프로토콜은 실제로 일종의 프록시에 지나지 않습니다.클라이언트 A는 서버에 연결하고 클라이언트 B는 서버에 연결하며 클라이언트 A의 메시지는 클라이언트 B로 전달됩니다.정말 빠르고 간단하며 많은 클라이언트를 처리할 수 있습니다(여기서는 수천 명에 해당합니다).제한된 메시지 캐시(예: 5~10개 메시지)를 구현하는 것이 좋습니다. 왜냐하면 무작위 메시지가 삭제되어 두 사람이 채팅하는 데 혼동을 주는 일이 거의 없기 때문입니다.몇 가지 메시지를 캐시하고 모든 메시지에 대해 클라이언트로부터 ACK 신호를 요구합니다.등.등.등.

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