需注意的地方:
android通过socket发送大文件到服务,并且在服务器接受完后返回一个结果给android。主要的是需要在android通过socket.getOutputStream()传送完文件后,需要关闭socket的OutputStream(socket.shutdownOutput();),而并不是执行getOutputStream()对象的close()方法,如果执行这个方法,那么socket就关闭了,就接收不到服务器返回的结果了。如果不关闭客户端的输出流,那么服务器端socket获取输入流对象后,调用这个对象的read方法会在执行完后一直处于等待状态,也就是read阻塞。socket输入流不同于文件输入流,一般调用in.read(),如果返回-1代表就结束了,但是socket这个输入流的read不会返回-1,(如果客户端在发送完文件后不及时关闭);