2011-04-20 68 views
2

我只想編寫一個應用程序,它與iphone或skype的視頻中的facetime非常相似。只是想實現視頻傳輸和顯示的P2P連接。有沒有人有一些相關的文件或代碼。我想知道的一件事是如何在兩部手機之間建立p2p連接?只需要IP地址建立一個TCP連接或我需要一些其他信息。而且,如果兩部手機不在同一個局域網中,或者它們之間有防火牆,我該怎麼辦?如何在兩部手機之間建立p2p連接?

謝謝!

回答

1

通常,UDP用於P2P音頻/視頻等應用程序,而不是TCP。 UDP不允許TCP丟棄數據包。對於類似於您所描述的內容,使用SIP之類的協議來協商連接。通過SIP,我向我註冊的SIP註冊商註冊了我的存在。我可能有一個像[email protected]這樣的句柄。 SIP註冊商位於my.cool.sip.example.com上,並維護所有連接用戶及其IP地址的列表。連接請求通過知道如何與用戶聯繫的SIP註冊器進行代理。由於註冊服務商的所有用戶都與其SIP註冊服務商進行傳出連接,因此不需要防火牆衝突即可初始建立聯繫。另一個SIP客戶端可能有一個名稱,如[email protected]。他們將連接到他們的SIP註冊商,就像我連接到我的。當他們想與我聯繫時,他們會發送一條消息給他們的註冊商,然後將其轉發給我的SIP註冊服務商。當我發送迴應時,我會將其發送到我的SIP註冊服務商,並使用他們的地址發送目的地。我的SIP註冊服務商聯繫他們,他們最終將其轉發給客戶。

相關問題