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条回答

    报告相同问题?

    悬赏问题

    • ¥15 fluent的在模拟压强时使用希望得到一些建议
    • ¥15 STM32驱动继电器
    • ¥15 Windows server update services
    • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
    • ¥15 模糊pid与pid仿真结果几乎一样
    • ¥15 java的GUI的运用
    • ¥15 Web.config连不上数据库
    • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
    • ¥15 怎么配置广告联盟瀑布流
    • ¥15 Rstudio 保存代码闪退