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);把它变成字符串+你的提示,非常感谢