2013-08-07 85 views
0

我有應用程序的Android和PC的另一個應用程序,都是由我寫的。 Android應用程序連接到PC應用程序,PC應用程序將數據(實時)發送到智能手機。數據轉發服務器

問題是:如果PC連接到移動無線網絡,我無法獲得它的地址,所以我無法將我的Android應用程序連接到PC。

那麼,是否有一些簡單的應用程序(用於Windows),我可以使用它作爲數據轉發的服務器。 PC和移動應用程序將連接到此服務器(在靜態地址的站點上啓動),並且服務器只會將數據從一個應用程序轉發到另一個應用程序?

或者也許有很好的教程來創建這種類型的服務器在C#/ Java?

+0

你使用哪種通信協議? – orique

+0

TCP。當移動應用程序直接連接到PC時,我工作得很好。但是我打算使用UDP來減少延遲。 –

回答

0

我會使用第三臺PC(一臺服務器),充當Android和PC的橋樑。我在網絡上爲一個虛擬服務器編寫了一個.NET服務。 Android和PC都知道服務器的IP地址(或域名)。

PC使用.NET本機Web服務調用與服務器對話,Android使用kso​​ap。

有關KSOAP爲Android看看這裏更infomration:

http://code.google.com/p/ksoap2-android/

編輯: 我想你可以在PC上的Web服務器,但您需要將您的調制解調器配置轉發特定端口到電腦。但是,如果您沒有靜態IP地址,則每次重新啓動調制解調器(或關閉/打開)時,都需要重新配置Android設備上的IP地址。您也可以嘗試使用動態DNS服務...

+0

該解決方案對PC用戶來說必須簡單。用戶只需啓動應用程序並按「連接」,然後在服務器端發生所有奇蹟,服務器等待來自移動應用程序的連接,然後轉發數據。我創建了一些這樣的服務器,但它不是很好)因此,我需要一個完整的服務器單元(庫,應用程序)或用於創建它的教程。 –

+0

嗯,我寫我自己的服務器,它工作正常。您在服務器中使用了Web服務嗎? –

+0

我在Java上寫了它,但我打算在C#上完成它。只是尋求正確的方式處理斷開,異步接收/發送。 –

0

檢查了這一點: http://whiletrue.blog.com/2013/07/11/smartphone-as-pc-controller/

我已經Muzzley使這個。基本上,如果你整合了它,你已經完成了大部分工作。 (聲明:我爲這個項目工作)

在PC端,您可以用lib中你有幾種語言的PC應用程序:

在智能手機方面,你可以使用任何存在的部件(虛擬接口)的:

或最終讓你自己:

例子:

您可以從GitHub的幾個例子在這裏拉:

(檢查web視圖的例子)

我希望它有幫助。