java - 是否应该在支持套接字关闭之前关闭 Java 流?

标签 java sockets networking optimization io

我有以下代码:

public void disconnect()
{
    running = false;
    if(thread != null)
        thread.interrupt();
    thread = null;

    try
    {
        socket.close();
    }catch(Exception e){e.printStackTrace();}
}

我有一个从流中收集输入的 BufferedReader 和一个通过输出流发送消息的 PrintWriter。在关闭套接字之前是否应该关闭 BufferedReader 和 PrintWriter?让 I/O 流保持打开状态不好吗?

最佳答案

根据Java Networking Tutorial

"You should close any streams connected to a socket before you close the socket itself."

关于java - 是否应该在支持套接字关闭之前关闭 Java 流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11043128/

相关文章:

java - 接口(interface)和参数问题

java - 休息服务调用未触发处理程序

java - Neo4j Java 驱动程序事务似乎未提交

python - 在 python 中捕获损坏的套接字

networking - 通过 TCP 代理的 RDP

java - 如何使用纯 JDBC 访问 Interbase (.IB) 数据库?

java - 为什么我的客户端-服务器应用程序重复预期输出?

C套接字,不完整的文件传输

docker - docker-compose 如何将我的服务名称映射到 IP 地址?

ios - 将远程数据与本地对象映射/解耦