服务端:
new Thread(new Runnable() { @Override public void run() { try { // 监听指定的端口 int port = 55533; server = new ServerSocket(port); Log.e(TAG, "socketServer将一直等待连接的到来"); serviceSocket = server.accept();//如果不设置连接超时,会发生阻塞等待 Log.e(TAG, "是否连接中: " + serviceSocket.isConnected()); serviceSocket.setSoTimeout(3000);// 设置读取流的超时时间,不设置,则是一直阻塞读取 byte[] bytes; // 建立好连接后,从socket中获取输入流,并建立缓冲区进行读取 InputStream inputStream = serviceSocket.getInputStream(); final OutputStream outputStream = serviceSocket.getOutputStream(); //因为对方无论何时发送数据,我们必须接收。这里开了个子线程在循环读流。由于读流是阻塞式,所以需要设置读流超时时间 while (isAccept) { outputStream.write("ok\r\n".getBytes()); outputStream.flush(); Log.e(TAG,