我在设备上使用Android工作室和端口转发端口8080在我的计算机上使用adb reverse tcp:8080 tcp:8080
在端口8080上运行Android应用程序。
我正在我的机器上侦听端口8080并使用nc -kl localhost 8080
打印传入的数据。
我通过它自己的线程上的Android应用程序运行下面的代码。当套接字未关闭时,我只看到数据吞吐量。当然,当我尝试在同一端口上打开连接时,它会被拒绝,因为之前的连接仍处于打开状态。我究竟做错了什么?
try {
final Socket socket = new Socket();
socket.connect(new InetSocketAddress("localhost", 8080));
// I've tried setting these
// socket.setSoLinger(true, 1);
// socket.setTcpNoDelay(true);
socket.getOutputStream().write(new byte[]{'h', 'e', 'l', 'l', 'o'}, 0, 5);
socket.getOutputStream().flush();
// Data is only received when this is commented out
// socket.close();
} catch (IOException e) {
e.printStackTrace();
}