Java Android客户端应用程序(可能通过USB使用ADB)

Java Android客户端应用程序(可能通过USB使用ADB),java,android,usb,adb,Java,Android,Usb,Adb,电话信息: 机器人仿生 安卓2.3.4 USB调试已启用 我正在考虑编写一个个人使用的应用程序,在那里我可以通过USB将数据从手机上的客户端发送到我计算机上的服务器应用程序。我在使用Android 2.3.4时发现的唯一建议是使用ADB,然后使用TCP转发 我已经使用端口8001在计算机之间编写了一个简单的服务器和客户端应用程序,但是我在让android上的客户端与计算机上的服务器部件一起工作时遇到了问题。我可以创建一个与我的计算机192.168.1.268001对话的套接字,但似乎无法让它工作

电话信息: 机器人仿生 安卓2.3.4 USB调试已启用

我正在考虑编写一个个人使用的应用程序,在那里我可以通过USB将数据从手机上的客户端发送到我计算机上的服务器应用程序。我在使用Android 2.3.4时发现的唯一建议是使用ADB,然后使用TCP转发

我已经使用端口8001在计算机之间编写了一个简单的服务器和客户端应用程序,但是我在让android上的客户端与计算机上的服务器部件一起工作时遇到了问题。我可以创建一个与我的计算机192.168.1.268001对话的套接字,但似乎无法让它工作,因为android设备上的java与我制作的comptuer客户端不同。有谁知道一个非常简单的教程或例子,我可以看看,只是连接客户端到服务器件?我之前看过的所有例子都很复杂

至于USB部分,我希望能够让我的应用程序在不通过网络的情况下工作。我已经了解了使用ADB转发tcp:port tcp:port的一些情况,但是我对整个事情有点困惑。我应该为客户端上的套接字设置什么IP地址和端口号,并将服务器保留在端口8001上?如果我不想使用端口8001,我应该通过ADB使用什么命令来执行此操作


谢谢

如果要将计算机上的TCP端口8001转发到手机上的端口8001,请使用以下命令:

adb转发tcp:8001 tcp:8001

如果需要,您可以更改手机或设备上的端口。该命令的文档如下所示:


至于为什么这不起作用——你的问题中缺少了一些信息。这些只是标准的TCP套接字。Java版本不会有任何区别,所以我不理解您的问题。在计算机上运行的客户端可以用露比、C++等语言编写。

< P>如果你想将你的计算机上的TCP端口8001转发到电话上的端口8001,你可以使用这个命令:

adb转发tcp:8001 tcp:8001

如果需要,您可以更改手机或设备上的端口。该命令的文档如下所示:


至于为什么这不起作用——你的问题中缺少了一些信息。这些只是标准的TCP套接字。Java版本不会有任何区别,所以我不理解您的问题。运行在您的计算机上的客户端可以用露比、C++等语言编写。

< P>我刚刚完成了这个程序,该应用程序将相机视频源从2个Android手机传送到我的PC。 首先在你的电脑上运行:

adb devices
你应该得到这样的东西:

xxxyyy1    device
xxxyyy2    device
记下给定的xxxyyy1和xxxyyy2序列号,然后运行以下两个命令:

adb -s xxxyyy1 forward tcp:8001 tcp:8002
adb -s xxxyyy2 forward tcp:8003 tcp:8004

这两个端口转发仅适用于给定的设备号,因此您的电脑现在可以独立与设备通信。

我刚刚为一个将摄像头视频源从两部android手机传输到我的电脑的应用程序完成了这项工作

首先在你的电脑上运行:

adb devices
你应该得到这样的东西:

xxxyyy1    device
xxxyyy2    device
记下给定的xxxyyy1和xxxyyy2序列号,然后运行以下两个命令:

adb -s xxxyyy1 forward tcp:8001 tcp:8002
adb -s xxxyyy2 forward tcp:8003 tcp:8004

这两个端口转发仅适用于给定的设备编号,因此您的电脑现在可以独立与设备通信。

感谢您的帮助。当我在手机上设置套接字时,我应该继续使用192.168.1.26 ip地址吗?这无关紧要吗?它将在两台设备上显示为本地套接字。因此,您应该在两端使用127.0.0.1环回地址。其他IP地址也可以工作,具体取决于防火墙设置和adb绑定的配置方式。但是,您需要跟踪IP地址的变化。使用127.0.0.1将始终有效。感谢您的帮助。当我在手机上设置套接字时,我应该继续使用192.168.1.26 ip地址吗?这无关紧要吗?它将在两台设备上显示为本地套接字。因此,您应该在两端使用127.0.0.1环回地址。其他IP地址也可以工作,具体取决于防火墙设置和adb绑定的配置方式。但是,您需要跟踪IP地址的变化。使用127.0.0.1将始终有效。