2011-01-25 112 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连接到家用电脑,我想你家里有一些路由器,你需要配置从路由器到桌面的端口映射。