用Socket对服务器和客户端建立好连接后,  如果客户端对服务器读数据, 读完之后需要对服务器写数据,需要先关闭输入流socket.getInputStream,再建立输出流吗?

解决方案 »

  1.   

    不用
    这两个流不冲突,但是两端通信完成后,要关闭流,并关闭SOCKET
      

  2.   

    谢谢喔。 通信完成后,一定要关闭流,并关闭SOCKET吗, 如果不呢 ?
      

  3.   

    每一个Socket存在时,都将占用一定的资源,在Socket对象使用完毕时,要其关闭。关闭Socket可以调用Socket的Close()方法。在关闭Socket之前,应将与Socket相关的所有的输入/输出流全部关闭,以释放所有的资源。而且要注意关闭的顺序,与Socket相关的所有的输入/输出该首先关闭,然后再关闭Socket。
      os.close();
      is.close();
      socket.close();  尽管Java有自动回收机制,网络资源最终是会被释放的。但是为了有效的利用资源,建议你按照合理的顺序主动释放资源。