2011-01-25 64 views
0

我正在開發一個項目,我希望我的Droid 2能夠通過3G發送和接收數據到連接到以太網端口的設備(不一定是PC ,但我用它來測試通信)。我相信端到端通信最終將通過SSL隧道完成,但就目前而言,我只需建立基本通信以表明設備可以通信。在Android手機和使用java的TCP之間進行通信

我寫過一些在同一網絡上的兩臺計算機之間工作的客戶端/服務器應用程序,但我不確定此情況下的通信是否可以工作,因爲手機和PC所在的網絡不同。

我一直在試圖確定,如果可以通過在我的大學和家中使用Ping程序Ping一些PC來完成這項工作,但我目前還沒有成功。然而,我的朋友已經紮根他的電話,並能夠這樣做。

我想這個問題真的有兩個部分:1)這可能嗎? 2)我是否需要根據我的電話來完成此操作,還是應該能夠在不生根的情況下完成操作?

感謝您的回覆。

回答

0

我已經寫了在同一網絡上的兩臺計算機之間工作的一些客戶端/服務器應用程序,但我不知道,如果在這種情況下,溝通會因爲不同的網絡的工作,手機和電腦開着。

我可以看到的一個潛在問題是,根據您的3G提供商,可能會限制可以使用的端口號和協議。例如,可以允許HTTP到任何端口號,但可以丟棄對用於HTTP的相同端口號的未知分組數據(即,不可識別的協議)。

我一直在試圖確定,如果這可以通過在我的大學和家中使用ping程序ping我的大學和房子,我已經離開市場,但迄今沒有成功。然而,我的朋友已經紮根他的電話,並能夠這樣做。

同樣,另一個潛在的問題 - 平(ICMP)是不訪問其他網絡上的設備作爲最外圍的路由器的一個很好的測試/防火牆默認情況下將拒絕ICMP流量(通常是悄無聲息) - 即使我家的DSL路由器/防火牆會默認阻止ICMP。至於需要一個固定電話允許使用一個ping應用程序 - 我的手機沒有植根,我有一個從市場上的平安應用程序工作正常。

我想這個問題真的有兩個部分:1)這可能嗎? 2)我是否需要根據我的電話來完成此操作,還是應該能夠在不生根的情況下完成操作?

沒有理由我知道這將需要一個電話植根於使用基於套接字的通訊科,我只是想知道,如果想通過路由器來ping /防火牆是不求最好考什麼你正在努力實現。

我推薦從HTTP開始 - 我不知道你用什麼來編程PC,但是一個簡單的HTTP'listener'應該很容易放在一起。首先監聽端口80並從Android瀏覽器嘗試 - 如果可行,請將監聽端口更改爲類似6789的端口(請記住打開家庭路由器/防火牆上的端口)。假設你已經有了這個工作,試着使用你的局域網上使用wi-fi開發的基於套接字的東西,如果這樣做的話,那麼試試3G。

+0

我沒有服務器或任何東西在我家,但我可以嘗試轉發端口以查看它是否有效。我預見到的問題是它必須在我的大學展示,所以我可能需要聯繫IT部門以瞭解我可以做些什麼。 – 2011-01-25 23:33:10

1

我從來沒有與Android手機的工作,但我認爲:

  1. 你並不需要有使用套接字根訪問權限;
  2. 你說你想用3G連接到家用電腦,我想你家裏有一些路由器,你需要配置從路由器到桌面的端口映射。
相關問題