2011-03-04 35 views
8

在拍擊API,還有用於連接的配置類,在這個頁面XMPP servername和XMPP servicename的區別?

ConnectionConfiguration

我感到困惑的服務名和服務器名之間的區別描述。

假設我有一個名爲「mybox.mydomain.com」計算機,我有一個叫做配置的主機「爲myhost」(使用線{hosts, ["myhost"]}.在ejabbed.cfg)就可以了ejabberd,

什麼主機名稱,服務器名稱和服務名稱在這種情況下?

回答

8
  • 爲myhost:服務名稱(或XMPP域)
  • mybox.mydomain.com:主機名和服務器名。

您可以在任何主機上託管XMPP域,只要您在DNS中正確設置SRV記錄,或者客戶端指定了它應該連接的主機(如電子郵件)。

+1

so hostname和servername總是一樣嗎? – Jus12

+1

是的,他們是同義詞。 – cstar

3

想想你用來登錄的JID,其中包含username @domaindomain是您正在使用的服務的邏輯名稱。對於某些服務,如jabber.org,該服務在與該服務具有相同名稱的框上運行。對於WebEx Connect和GoogleTalk等許多其他服務域而言,服務域是確定向哪裏打開套接字的起點,但不是機器的名稱。如果所有設置都正確,您可以使用SRV record查找要在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. 

如果服務域未在DNS配置正確,或者你只是測試的事情了,它往往是有用的,以便能夠指定該從域中分別連接主機。因此,對於你的榜樣,你可以使用:

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

如果你想被人們所訪問過的網絡(無論是客戶端 - 服務器或服務器到服務器),這將使意義這項服務將您的服務域重命名爲完全限定的內容,您可以將SRV記錄附加到這些記錄以供這些外部實體使用。