gpt4 book ai didi

java - datainputstream 接收消息时抛出 eofException

转载 作者:行者123 更新时间:2023-12-01 12:02:20 25 4
gpt4 key购买 nike

我正在尝试使用java中的套接字在服务器和客户端之间交换消息。我在我的服务器上使用以下代码

...
try{
if(acceptConnection){
s = serverSocket.accept();
System.out.println("connected");
acceptConnection = false;
dis = new DataInputStream(s.getInputStream());
}
System.out.println(dis.readUTF());
...

第一条消息已正确接收,但当我发送第二条消息时,出现以下错误

java.io.EOFException
at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:340)
at java.io.DataInputStream.readUTF(DataInputStream.java:589)
at java.io.DataInputStream.readUTF(DataInputStream.java:564)
at Server.run(Server.java:23)

谁能告诉我问题是什么以及如何解决?提前谢谢

最佳答案

使用DataInputStream的dis.read()方法来避免异常。

请从 DataInputStream 更改为 BufferedInputStream ,因为当流在读取所有字节之前到达末尾时,DataInputStream 将抛出 EOFException

关于java - datainputstream 接收消息时抛出 eofException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27902657/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com