2010-11-07 2 views
5

나는 skype 나 yahoo messenger와 같은 것을 어떻게 만들 수 있는지 알고 싶다.인터넷 메신저를 개발하려면 어떻게해야합니까?

나는 야후 또는 스카이프에 대해 언급했다. 왜냐하면 실제로 메신저가 많은 온라인 사용자를 다루기를 원하기 때문이다.

저는 자바 개발자입니다.하지만 이런 종류의 프로젝트 나 VoIP 및 네트워킹에 대한 아이디어가 없습니까?

나는 자바와 함께 메신저와 같은 것을 개발할 수 있습니까? 과 다른 기술, 프레임 워크 또는이 프로젝트를 처리하는 데 필요한 다른 것이 있습니까? 끝에 , 내가 그것을 혼자서 개발할 수 있습니까?! 아니면 팀을 시작해야합니까?!

+3

재미있는가요? 그렇지 않다면 - 그것을 버리십시오. 거기에 opensource 것들을 포함하여 IMs의 톤이 있습니다. – Andrey

답변

6

가장 필요한 것은 네트워크 프로그래밍에 대한 지식입니다. 이것은 목표를 향한 첫 걸음입니다. 합리적으로 두 호스트 사이에서 통신하는 방법을 배우게됩니다 (Java net 프로그래밍 here, herea book here 링크). 프로토콜 (낮은 수준의 것들) (그리고 아마도 암호화)에주의를 기울이고 필요에 맞는 것을 찾아보십시오. 자신 만의 IM 프로토콜 (고급 수준)을 작성하거나 기존 프로토콜 (Jabber, MSN, Yahoo, aim 등) 중 하나를 사용하려는 경우에도 이해해야합니다.

다음으로 살펴볼 수 있습니다. 오픈 소스 프로젝트 프로젝트 아키텍처, 클라이언트 통신 등을 구조화하는 방법을 더 잘 이해하기 위해 비슷한 것을 구현하려고 시도합니다. Web 주위에서도 lib (here은 자바와 Jabber, Yahoo는 here)를 볼 수 있습니다.

마지막으로 프로젝트 설계를 시작하여 합리적인 시간 내에 한 사람이 견딜 수있는 일보다 많은 일을하고 사람들이 당신과 일하도록 설득하려고 노력할 수 있습니다. 또는 공개 소스 프로젝트를 찾으면 참여할 수도 있습니다.

0

아마도 소켓에 대해 연구하고 싶을 것입니다. java btw로 만든 많은 소켓 애플리케이션. 간단한 채팅 응용 프로그램입니다. 그러나 화상 채팅이나 VoIP는 더 많은 노력이 필요합니다.

0

java.net 소켓 프로그래밍을 배우는 것은 그리 복잡하지 않습니다. 여러 클라이언트를 처리하는 경우 서버에 여러 스레드가 있어야합니다. 각 클라이언트마다 하나씩.

간단한 채팅 메신저를 개발하는 것은 자바의 입찰 거래가 아닙니다. 이것을 스스로 할 수 있습니다. 아마도 멀티 스레딩을 통해 여러 클라이언트를 처리 할 수도 있습니다.

3

왜 바퀴를 재발 명하십시오. JAVA에는 많은 IM, 다중 채팅, 프리젠 스, 음성 및 화상 통화를 지원하는 많은 오픈 소스 소프트웨어가 있습니다.

Skype는 SIP + 자체 소유 기술을 기반으로합니다. 따라서 스카이프는 스카이프에서만 작동합니다. 상호 운용성에 대해 잊어 버림

Gtalk는 대화에 대해 XMPP (www.xmpp.org)을 사용하지만 오디오/비디오 통화에 libjingle (RTP 세션 용)을 사용합니다. (libjingle 프로토콜과 Jingle은 매우 유사하며 동일하지 않으며 상호 운용 가능하지 않습니다.)

야후, 페이 스북 ... 지금은 XMPP로 이동하는 많은 IM이 있습니다. (왜..???때문에 인터 워킹)

gtalk, yahoo ... 사용 가능한 모든 인스턴트 메시지와 상호 작용하는 자신 만의 메신저를 만들려면 XMPP 라이브러리를 사용하십시오. XMPP - SMACKJAVA 버전을 다운로드 할 수 있습니다. 간단한 APIs을 사용하면 IM이 준비되었습니다.

재미있는 일을하고 싶다면 새로운 기능을 제안하거나, 오픈 소스 커뮤니티에 컨 피규 레이션하거나, 아이디어/기술을 특허하거나, 큰 총에 판매하십시오. :)

관련 문제