Android 设备到 PC 的套接字连接

本教程将介绍Android 设备到 PC 的套接字连接的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。

Android 设备到 PC 的套接字连接 教程 第1张

问题描述

我在建立从 android 设备到 PC 的特定端口(如 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.

推荐答案

如果你使用的是wifi,你需要使用你的PC在wifi网络上的IP地址.您可以使用 ifconfig (linux) 或 ipconfig (windows) 在命令行中找到它

如果您使用的是 usb adb 连接,则不能完全这样做,但您可以设置从 PC 到手机的 adb 端口转发(请参阅开发人员文档),并让 pc 连接到它的环回接口和端口,它将被转发到您的应用程序应该监听的电话上的非特权端口号.然后,请问拥有一个 TCP 或任何可以向任一方向推送数据的连接.但是 PC 必须是建立连接的发起者 - adb 不支持反向网络共享",其中手机以 android 模拟器支持的方式启动网络通过 USB 连接到 PC.

好了关于Android 设备到 PC 的套接字连接的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。