2011-09-18 51 views
2

快速提問:大多數聊天應用程序(即AIM,Skype,Oovoo)是否使用點對點UDP交換與其他用戶通話或與服務器進行回顯TCP連接?或者介於兩者之間的某種組合?標準聊天應用程序

回答

0

傳統上,大多數應用程序都使用類似TURN的解決方案(即通過服務器進行通信)來克服NAT遍歷問題。由於聊天消耗的帶寬不多,因此服務器可以支持數千個通信。

但是,現在P2P已經發展並且NAT穿越問題現在已經被很好地理解,但是一些使用直接UDP通信,只要用戶的NAT允許這種(即類STUN通信)。他們仍然需要一箇中央服務器來打洞。當需要傳輸大量數據時,直接通信也很有用。

我相信這是公平的說,大多數現代框架使用兩者的組合。

0

當您需要小段數據(如短信)時,不需要使用P2P。數據可以從客戶端1傳輸到服務器,從服務器傳輸到客戶端2。

當您需要在客戶端之間快速傳輸數據時,在VoIP(IP語音)或文件傳輸等情況下,您將使用P2P。

0

一個非常標準的IM協議是XMPP。我知道Google Talk使用它,以及聊天中的一些其他大牌。