将多个OutputStream用于同一个Socket是否安全?

时间:2014-10-09 05:46:42

标签: java sockets

这段代码是否可以安全使用?我习惯每个插槽制作一个PrintWriter或读卡器,但现在我处于这种情况,我必须像这样传递插座,所以我问我是否需要在每次发送或担心后关闭它们关于任何内存问题或长期损坏套接字?

    public static void sayHello(Socket socket)
    {
        try{

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

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

        }catch(Exception e){}
    }

1 个答案:

答案 0 :(得分:1)

不,它不安全,除非你对冲洗有所了解,除非对所有流/写入器的所有访问都是顺序化的,这样当它们自动冲洗时它们不可能交错。通常,这很难实现,首先不使用多个流更简单。你应该构造一对流(输入和输出)并在套接字的生命周期中使用它们。