ObjuectInputStream对象使用readObject()方法时抛出异常

背景:项目原本是当用户登录客户端输入正确密码后,对方就可以打网络电话过来,已方就可以触发接电话界面。
现在项目改需求,要求第一次登录成功后,以后退出程序,后台仍然有服务存在,仍然发心跳包给服务器,保持在线状态,保证仍能监听第二方来电。

目前:我已经实现服务在后台仍然发心跳包给服务器,不随程序的退出而关闭,同时也是随开机自启动。

问题:我在服务里启动了一个循环读取服务器发来的命令,在服务里建立了一个ObjuectInputStream对象in,并用in.readObject()读取命令。当服务还在后台,程序还没启动时,对方来电会先触发【来电等待】界面,由于项目需要,我方需要插入一个外置设备,触发登录界面,再输入密码后才能再跳转回【来电等待】界面进行接听。在插入外置设备跳转到登录界面时,in会报错,抛出java.io.EOFException的错误。我在写的时候已经在最后写入了null值,在读取时也对获取的值进行判断是否为null,但仍在抛出异常。
不知道我有没表述清楚,求大神搭救

2个回答

yezhiba
沈小池 我在问题中已经说了,我已经在对象的最后加了null,但依然不能避免这个问题
大约 4 年之前 回复
yezhiba
沈小池 我在问题中已经说了,我已经在对象的最后加了null,但依然不能避免这个问题
大约 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问