Java DataOutputStream在断开连接时不会抛出IOException

时间:2012-12-14 14:47:44

标签: java ioexception dataoutputstream

当我拔出电缆时,

DataOutputStream没有抛出IOException,我的代码出了什么问题?

这是我的代码:

private void sendMessage(String message) {
    try {
        mDataOutputStream.writeUTF(message);
        mDataOutputStream.flush();
    } catch(IOException ex) {
        close();
    }
}

只要我重新插入电缆,数据仍会发送到服务器。

1 个答案:

答案 0 :(得分:0)

TCP连接旨在优雅地应对短期故障,并尽可能透明地应对。这意味着当连接短时间丢失时,例如不到3分钟,连接应该透明地重新建立。即使连接超时,您也不会异步知道,可能是下一次读取或写入失败。