使用Telnet连接到Android上的Socket服务器

时间:2018-12-15 02:01:07

标签: android adb telnet

我在模拟器中的Android应用上运行了ServerSocket。我想从主机(MacBook)向它发送消息。

严格按照How to connect to an Android server socket in the emulator的说明进行操作,我的步骤是:

  1. 在Android应用中启动新线程。在此线程中,使用 ServerSocket侦听端口8080和本地上的传入请求 IP地址。

    InetAddress addr = InetAddress.getByName(< ipaddress >);
    serverSocket = new ServerSocket(8080, 0, addr);
    clientSocket = serverSocket.accept();
    
  2. 使用ADB将网络流量从端口5050的主机重定向到8080。

    telnet localhost 5554  
    redir add tcp:5050:8080
    
  3. 使用Telnet在端口5050上向主机发送消息。该消息应重定向到仿真器上的端口8080。相反,我收到一条连接关闭消息。

    telnet -d localhost 5050
    Trying 127.0.0.1...
    Connected to localhost.
     Escape character is '^]'.
    Connection closed by foreign host.
    

有什么想法为什么会立即关闭连接?将消息发送到服务器可以做什么?

1 个答案:

答案 0 :(得分:1)

无法从let config = { mode: "production", .... 上的主机访问仿真器,但是它是127.0.0.1

...否则,您将连接到本地环回,而不是虚拟接口。