异常来袭:java.io.EOFException

jiaojiao_huihui jiaojiao_huihui 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
今天遇到这样一个异常:
java.io.EOFException
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2553)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1296)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
at Server.RequestProcessor.run(RequestProcessor.java:40)
at java.lang.Thread.run(Thread.java:662)
网上查了一下说:达了文件的末尾,程序却没有正常结束读取文件内容,
不是太理解什么意思,下面是出错的地方:
public void run() {
boolean flag = true; //是否不间断监听
try{
OnlineClientIOCache currentClientIOCache = new OnlineClientIOCache(
new ObjectInputStream(currentClientSocket.getInputStream()),
new ObjectOutputStream(currentClientSocket.getOutputStream()));
while(flag){ //不停地读取客户端发过来的请求对象
//从请求输入流中读取到客户端提交的请求对象
Request request = (Request)currentClientIOCache.getOis().readObject();
System.out.println("Server读取了客户端的请求:" + request.getAction());

String actionName = request.getAction(); //获取请求中的动作
if(actionName.equals("userRegiste")){ //用户注册
registe(currentClientIOCache, request);
}else if(actionName.equals("userLogin")){ //管理员登录
login(currentClientIOCache, request);
}else if(actionName.equals("userLogin2")){ //用户登录
login2(currentClientIOCache, request);
}else if(actionName.equals("exit")){ //请求断开连接
flag = logout(currentClientIOCache, request);
}else if(actionName.equals("chat")){ //管理员发布信息
chat(request);
}else if(actionName.equals("chat2")){ //客户端聊天
chat2(request);
}else if(actionName.equals("add")){ //客户端聊天
add(request);
}else if(actionName.equals("agree")){ //客户端聊天
add1(request);
}
}
}catch(Exception e){
e.printStackTrace();
}
}
...全文
评论 5
收藏 已收藏
分享
返回顶部
jiaojiao_huihui
Java SE 62,620 成员 307,251 内容