Java Android设备到PC';s插座连接
我面临着从android设备到PC的一个特定端口(如Java Android设备到PC';s插座连接,java,android,sockets,connection,Java,Android,Sockets,Connection,我面临着从android设备到PC的一个特定端口(如8080)建立套接字连接的问题。我只想创建一个套接字,它将连接到特定的端口,并在该端口上写入一些数据流 我已经为此编写了一些代码,但代码给了我一个例外: TCP Error:java.net.ConnectException:/127.0.0.1:8080-connection refused 我给出的代码如下: private static TextView txtSendStatus; /** Called when the a
8080
)建立套接字连接的问题。我只想创建一个套接字,它将连接到特定的端口,并在该端口上写入一些数据流
我已经为此编写了一些代码,但代码给了我一个例外:
TCP Error:java.net.ConnectException:/127.0.0.1:8080-connection refused
我给出的代码如下:
private static TextView txtSendStatus;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
initControls();
String sentence = "TCP Test #1n";
String modifiedSentence;
try {
Socket clientSocket = new Socket("192.168.18.116", 8080);
DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());
BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
printScr("TCP Connected.");
outToServer.writeBytes(sentence + 'n');
modifiedSentence = inFromServer.readLine();
printScr(modifiedSentence);
printScr("TCP Success !!!");
clientSocket.close();
} catch (Exception e) {
printScr("TCP Error: " + e.toString());
}
}
private void initControls()
{
txtSendStatus = (TextView)findViewById(R.id.txtSendStatus);
}
public static void printScr(String message)
{
txtSendStatus.append( "n" + message );
}
有人能告诉我答案吗?
我在等待正确的答案
致以最良好的祝愿,
gsmaker。首先,如果您试图从设备连接到127.0.0.1,那么您就不能这样做。因为127.0.0.1是环回接口,总是指向设备本身 因此,如果您从PC连接到127.0.0.1,它将自动连接。如果你在android上调用它,它也会尝试与自身连接
第二:我认为你能做到这一点的唯一方法是当你使用WLAN时,只有这样你才能与电脑建立基于IP的连接(如果我错了,请纠正我)。您无法使用USB或蓝牙连接到电脑。如果您使用的是wifi,则需要使用wifi网络上电脑的IP地址。您可以在ifconfig(linux)或ipconfig(windows)的命令行中找到这一点
如果您使用的是usb adb连接,您不能完全做到这一点,但您可以设置一个从PC到手机的adb转发端口(请参阅开发人员文档),并让PC连接到其环回接口和端口,该端口将转发到手机上您的应用程序应该侦听的非特权端口号。然后,您就有了一个TCP或任何连接,您可以将数据推送到任一方向。但是,PC必须是建立连接的启动器-adb不支持“反向连接”,即手机通过usb连接启动网络,以android emulator支持的方式连接到PC。您的服务器需要在设备上,客户端需要在计算机上。 您需要让adb转发要连接到设备的端口。 建立连接后,您将能够在它们之间正常通信
我在这里写了一个完整的解释我也有同样的问题,但是在windows mobile和电脑插座之间。我想当手机需要与远程计算机连接时,需要通过一些特殊的方式访问端口。在建立TCP连接后,我应该如何将数据从Android设备推送到PC?具体来说,该设备能够监听并接受PC侧的
套接字
,获取其对象输出流
,并将数据写入其中。那么,PC应该如何接收数据呢?谢谢,终于搞定了。