JAVA Socket服务器与客户端互发信息,只能收发第一条?

收到第一条之后再发送第二条,客户端会出现IO异常,客户端代码如下:

Socket s1;
DataInputStream dis = null;
DataOutputStream dos = null;
public void Accept(int port)
{
    try{
        s1 =  new Socket("127.0.0.1", port);
        dis = new DataInputStream(s1.getInputStream());
        while (true)
        {
            //时间
            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            //把聊天记录设置为 之前的+现在的
            MessageArea.setText(MessageArea.getText()+
                    "对方  "+df.format(System.currentTimeMillis())+"\n"
                    +dis.readUTF()+"\n");

        }
    }
        catch(ConnectException e)
        {
            MessageArea.setText(MessageArea.getText()+"网络连接失败!");
        }
        catch(IOException e)
        {
            MessageArea.setText(MessageArea.getText()+"AcceptIO异常!");
        }   
}
public void Send()
{
    try{
        dos = new DataOutputStream(s1.getOutputStream());
        dos.writeUTF(Message.getText());
        dos.flush();
        //时间
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        MessageArea.setText(MessageArea.getText()+
                    "我  "+df.format(System.currentTimeMillis())+"\n"
                    +Message.getText()+"\n");
        Message.setText(null);  
    }catch(ConnectException e)
    {
        MessageArea.setText(MessageArea.getText()+"网络连接失败!");
    }catch(IOException e)
    {
        MessageArea.setText(MessageArea.getText()+"SendIO异常!");
    }   

}

}

服务器端的收消息只收了一次啊,你得持续接收啊,,,接收一条信息处理一条

循环持续接受数据。没有的话,只能收到一条。因为你的程序一次跑完了图片说明