2012-06-01 42 views
0

我想編寫一個程序來訪問我的Android手機的攝像頭在我的筆記本電腦無線,所以,我的手機會像一個無線攝像頭。 我希望在Java中實現UDP(或TCP)協議我的筆記本電腦和手機之間的通信。什麼定義了兩臺電腦(或電話和電腦)之間的「直接通信」?用於UDP(或TCP)通信?

我想在我的筆記本電腦製造ad-hoc無線網絡和第一個我的手機連接到它,然後寫代碼到我的手機上創建我的筆記本電腦和客戶端套接字的服務器套接字。 我知道這段代碼適用於服務器和客戶端之間的「直接通信」。但是這種ad-hoc網絡通信方法是否會算作「直接通信」呢? 如果不是,我該怎麼做才能做到這一點?

謝謝你,首先閱讀我的整個問題,並且,由於 很多,如果你能回答這個問題對我來說

:)

+0

如果我知道你的意思是'直接溝通',回答這個問題可能會更容易。這當然是您的手機和計算機之間更直接的通信方式之一,儘管我認爲USB或其他方式可能更接近您稱之爲「直接通信」的方式,但是您不會使用UDP或TCP。 – waxspin

+0

gc2dm或ESfileExplorer應用程序通過局域網與計算機連接的方式如何? – drulabs

回答

0

首先:不要集中在ad-hoc網絡。在大多數情況下,具有基礎設施模式接入點的WiFi將可用。如果在路上,所有最新版本的Android都可以充當無線接入點。

因此,讓我們假設兩臺設備都連接到同一個網絡,並且能夠相互訪問(使用IP協議) - 換句話說,它們可以相互對接。您必須解決的下一個問題是:兩個應用程序如何找到對方? Bonjour/Zeroconf可能是一種解決方案(請參閱Are there any other Java libraries for bonjour/zeroconf apart from JMDNS?)。

下一個問題是:您想使用什麼協議?你提到了TCP和UDP。在大多數情況下,UDP將用於傳輸視頻數據,因爲您的延遲更低,並且視頻編解碼器可以容忍丟失的數據包。

有了這些信息,你可以創建一個ServerSocket和(從客戶端)知道在哪裏可以連接到它。

+0

謝謝。我以類似的方式思考,在java通過實現套接字。 UDP。我正在考慮使用'vlcj'庫來重建發送的幀。 – Deepun

相關問題