granvillegao 2014-08-15 06:52
浏览 862

socket怎么接收复数次消息

    我想实现socket多次接收数据,但是只能收到第一次数据,第二次接收会提示java.io.StreamCorruptedException,请问这块我应该怎么改,代码如下。

while (true) {
// 输入流
InputStream is = null;
is = socket.getInputStream();
ObjectInputStream in = new ObjectInputStream(is);
TimeMessage timeMessageGet = null;
timeMessageGet = new TimeMessage();
timeMessageGet = (TimeMessage) in.readObject();
if (timeMessageGet != null) {
status = timeMessageGet.getStatusString();
time = timeMessageGet.getNextTimeLong();
// 反馈
os = socket.getOutputStream();
ObjectOutputStream out = new ObjectOutputStream(os);
TimeMessage timeMessageSend = new TimeMessage();
timeMessageSend.setStatusString(STATUS_GOT);
timeMessageSend.setNextTimeLong(123);
out.writeObject(timeMessageSend);
out.flush();
System.out.println("send got");
if (status.equals(STATUS_TEST_BEGIN)) {
// 开始测试
System.out.println("got begin");
} else {
System.out.println("收到错误status");
}
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥60 版本过低apk如何修改可以兼容新的安卓系统
    • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
    • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
    • ¥50 有数据,怎么用matlab求全要素生产率
    • ¥15 TI的insta-spin例程
    • ¥15 完成下列问题完成下列问题
    • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
    • ¥15 YoloV5 第三方库的版本对照问题
    • ¥15 请完成下列相关问题!
    • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?