2011-03-04 4 views
8

이 페이지XMPP 서버 이름과 XMPP 서비스 이름의 차이점은 무엇입니까? 헤로인 API에서

ConnectionConfiguration

나는 서비스 이름 및 서버 이름의 차이에 대한 혼란 스러워요에 설명 연결을위한 구성 클래스가있다.

한다고 가정

뭐라고, 나는 "mybox.mydomain.com"라는 이름의 컴퓨터가, 나는라는 구성 호스트 "이 myhost"(ejabbed.cfg에 선 {hosts, ["myhost"]}. 사용)와 함께 그것에 ejabberd이 이 경우 호스트 이름, 서버 이름 및 서비스 이름?

답변

8
  • 이 myhost : 서비스 이름 (또는 XMPP 도메인)
  • mybox.mydomain.com : 호스트 이름과 서버 이름.

당신은 당신이 바로 DNS 또는 클라이언트가있는 호스트가 (이메일 등)에 연결하도록되어 지정하면 SRV 레코드를 설정하는 것이 제공, 모든 호스트 통해 XMPP 도메인을 호스팅 할 수 있습니다.

+1

그래서 호스트 이름과 서버 이름은 항상 동일합니까? – Jus12

+1

예, 동의어입니다. – cstar

3

username @domain을 포함하여 로그인하는 데 사용하는 JID를 생각해보십시오. domain은 사용중인 서비스의 논리적 이름입니다. jabber.org과 같은 일부 서비스의 경우 해당 서비스와 이름이 같은 상자에서 서비스가 실행됩니다. WebEx Connect와 GoogleTalk와 같은 다른 많은 분야에서 서비스 도메인은 소켓을 어디에서 여는 지 알아 내기위한 출발점이지만 머신의 이름은 아닙니다. 모든 것이 올바르게 설정되면 SRV record을 사용하여 DNS에 연결할 시스템의 이름을 조회 할 수 있습니다. 예를 들어, 발굴 사용 : 서비스 도메인이 DNS에 올바르게 구성되지 않은 경우

$ dig +short -t SRV _xmpp-server._tcp.gmail.com 
20 0 5269 xmpp-server4.l.google.com. 
20 0 5269 xmpp-server2.l.google.com. 
20 0 5269 xmpp-server1.l.google.com. 
5 0 5269 xmpp-server.l.google.com. 
20 0 5269 xmpp-server3.l.google.com. 

를, 아니면 그냥 물건을 테스트하고,이 지정한 도메인에서 별도로 호스트를 연결하는 것은 유용한 방법이다. 귀하의 예를 들어 그래서, 당신은 사용한다 :

ConnectionConfiguration("mybox.mydomain.com", 
         5222, 
         "myhost"); 

혹시이 서비스는 네트워크 (중 클라이언트 - 서버 또는 서버 - 서버), 그것은 만들 것 감각 떨어져 사람들이 액세스 할 수 있도록하려면 서비스 도메인의 이름을 정규화 된 것으로 변경하고 외부 엔티티에 대한 SRV 레코드를 첨부 할 수 있습니다.