Java 流式整数问题

Java 流式整数问题,java,Java,我真的对一些事情感到困惑,当我搜索时,我的编码中的每一件事情都是好的! 当我使用这个代码的时候 sOutput.writeObject(theuser); sOutput.writeObject(thepass); sOutput.writeObject(thename); sOutput.writeObject(themail); sOutput.writeObject(thephone); 用这个来接受 String the

我真的对一些事情感到困惑,当我搜索时,我的编码中的每一件事情都是好的! 当我使用这个代码的时候

 sOutput.writeObject(theuser);
        sOutput.writeObject(thepass);
        sOutput.writeObject(thename);
        sOutput.writeObject(themail);
        sOutput.writeObject(thephone);
用这个来接受

String theuser = (String) sInput.readObject();
            display(theuser);
            String thepass = (String) sInput.readObject();
            display(thepass);
            String thename = (String) sInput.readObject();
            display(thename);
            String themail = (String) sInput.readObject();
            display(themail);
            String thephone = (String) sInput.readObject();
            display(thephone);
一切都很好,但当我把这些添加到ready和write中时

int RID = (int) sInput.readInt();
通读

 sOutput.writeInt(RID);


然后它不会抛出异常,不会出错,只是我的服务器在读取时停止了!RID在sender中定义为Int,它被赋予一个随机数。您能帮我一下吗?

当读取程序在等待输入时卡住,并且您肯定知道写入程序会将数据写入其输出,这种情况经常发生,因为写入的数据已被缓冲。换句话说,它被放在发送方的等待位置,而不是放在要发送给接收方的电线上

解决此问题的简单方法是在写入最后一个数据元素后调用
flush()
,如下所示:

sOutput.writeInt(RID);
sOutput.flush();

请把你的错误的堆栈跟踪贴在下面,伙计,谢谢你,我还使用了字符串newRID=Integer.toString(RID);把它变成字符串+你的提示,非常感谢