2010-05-25 6 views
3

내 임무는 내외부 직원 모두를위한 메신저 프로그램을 작성하는 것입니다. 실제로 작성했습니다. 그러나 이것은 클라이언트 소프트웨어를 사용하여 서버에서 "check-mesg"를 유지하는 것이 좋은 방법이 아닙니다. 그래서 저는 IM 프로그램을 시뮬레이션하고 있다고 생각합니다.메신저 (IM)가 작동하는 방식 (듣기)?

나는 클라이언트 응용 프로그램을 청취 서버로 만들고, 메인 서버에서 "mesg-center"없이 P2P로 대화하게하고 싶다 (오프라인 mesg가 발생하지 않는 한). 문제는 라우터 뒤에있는 동안 외부 사용자 (다른 클라이언트 앱)에게 내 위치를 알려주는 것입니다.

다른 IM 프로그램도 클라이언트 컴퓨터에서 서버로 실행됩니까? 그리고 어떻게 그들을 통해 얻을 수 있습니까?

미리 감사드립니다.

답변

1

라우터 뒤에있는 시스템에 연결하는 것은 매우 복잡하며 항상 가능한 것은 아닙니다. UDP로이를 수행하는 잘 문서화 된 방법은 STUN protocol (주로 SIP 기반 VoIP에 사용됨)입니다. 라우터를 사용할 수없는 경우 개방형 네트워크에서 서버를 중개자로만 사용할 수 있습니다 (일부 P2P 시스템은 잘 연결된 피어를 그러한 중개자로 승격시킵니다). SIP는 중개자 프로토콜로 TURN을 사용합니다. 클라이언트의 올바른 솔루션을 찾는 SIP 프로토콜은 ICE입니다.

도 참조하십시오. NAT traversal.