这段代码安全使用吗?我习惯于每个套接字制作一个PrintWriter或读取器,但是现在我处于这种情况下,我必须传递这样的套接字,所以我问我是否需要在每次发送后关闭它们,否则我担心内存问题或从长远来看会损坏套接字?

    public static void sayHello(Socket socket)
    {
        try{

            PrintWriter out = new PrintWriter(socket.getOutputStream());

            out.println("HELLO !");
            out.flush();

        }catch(Exception e){}
    }

最佳答案

不,这不是安全的,除非您对冲洗存有虔诚,并且除非对所有流/写入器的所有访问都按顺序进行,以使它们在自动冲洗时无法交错。通常,这很难完成,因此首先不使用多个流会更简单。您应该构造一对流(输入和输出),并在套接字的生命周期内使用它们。

关于java - 同一套接字使用多个OutputStream是否安全?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26271145/

10-09 07:10
查看更多