socket怎么实现循环通信

java在socket里 要实现server端和client端间的一直通信,不调用shutdown()就一直卡在服务端读取客户端的信息,停不下来,调用了就没法循环,有什么办法能解决吗?

但是如果用对象流传就没事 是为什么 , 下面这样写就可以不用掉shutdown(),有没有人能解答下,万分感谢!


   ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
            User user =(User) ois.readObject();

线程...?