zoukankan      html  css  js  c++  java
  • Java Error(七)

    Error :    java.net.SocketException: Connection reset by peer: socket write error

    Error : java.net.SocketException:由peer重置的连接:套接字写入错误提供文件时

    try {
         DataOutputStream dos = new DataOutputStream(s.getOutputStream());
         dos.writeUTF(str);
         dos.flush();
         dos.close();
    } catch (IOException e1) {
         e1.printStackTrace();
    }

    以上为出错部分的Code。

    出错原因: 每次TCP Client / Server 连接中,一旦流被关闭,如dos.close().  会导致Socket 关闭,即Client - Server通信的通道随着流的关闭而关闭。导致即便在方法中重新获取dos 如,DataOutputStream dos = new DataOutputStream(s.getOutputStream())  也无效。

    详情见:https://blog.csdn.net/justoneroad/article/details/6962567  

    解决方案:1、重新连接,具体操作见:https://www.cnblogs.com/yunfang/p/5420067.html

         2、将所使用的Stream 声明为成员变量. 增加disconnect() 方法,在对应Action操作时,调用。

    public void disconnect() {
        try {
            dos.close();
            s.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

           3、指定传输长度 ,详情见:https://bbs.csdn.net/topics/380213679

  • 相关阅读:
    Java--泛型
    Java--文档注释
    Java--网络编程
    Java--序列化
    Java--多线程编程
    Java--ConcurrentHashMap原理分析
    HashMap底层实现原理/HashMap与HashTable区别/HashMap与HashSet区别
    面向接口编程详解
    面向接口编程
    base64 数据加密
  • 原文地址:https://www.cnblogs.com/leafh/p/8989541.html
Copyright © 2011-2022 走看看