Connection reset 连接被重置的解决方法

Connection reset 连接被重置的解决方法

操作方法

  • 01

    package 通信软件服务器;import java.io.BufferedWriter;import java.io.OutputStream;import java.io.OutputStreamWriter;import java.net.Socket;//客户端public class SocketDemo {  //private static String text="您好";  public static void main(String[] args) {     //Connection reset 连接被重置    try{    //创建套接字的连接对象    Socket socket = new Socket("127.0.0.1",9090);    OutputStream os = socket.getOutputStream();    OutputStreamWriter osw = new OutputStreamWriter(os);    BufferedWriter bdw = new BufferedWriter(osw);    //    String text="您好";    bdw.write(text, 0, text.length());    bdw.flush();      }catch(Exception e){      e.printStackTrace();    }  } } 服务器代码; package 通信软件服务器;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.net.ServerSocket;import java.net.Socket;public class Demo {  public static void main(String[] args) {    try {      ServerSocket server = new ServerSocket(9090);      System.out.println("等待客户端连接");      Socket socket = server.accept();      System.out.println(socket.getRemoteSocketAddress() + "连接上服务器");             InputStream is = socket.getInputStream();      InputStreamReader isr = new InputStreamReader(is);      BufferedReader bis = new BufferedReader(isr);      String line = bis.readLine();      System.out.println("line:" + line);    } catch (Exception e) {      e.printStackTrace();    }  } } 客户端连接服务器会出现以下结果; 等待客户端连接 /127.0.0.1:53373连接上服务器 java.net.SocketException: Connection reset  at java.net.SocketInputStream.read(Unknown Source)  at java.net.SocketInputStream.read(Unknown Source)  at sun.nio.cs.StreamDecoder.readBytes(Unknown Source)  at sun.nio.cs.StreamDecoder.implRead(Unknown Source)  at sun.nio.cs.StreamDecoder.read(Unknown Source)  at java.io.InputStreamReader.read(Unknown Source)  at java.io.BufferedReader.fill(Unknown Source)  at java.io.BufferedReader.readLine(Unknown Source)  at java.io.BufferedReader.readLine(Unknown Source)  at 通信软件服务器.Demo.main(Demo.java:24) 原因分析: 客户端在连接到服务器之后就已经被虚拟机回收了 解决思路; 1,在客户端中关闭流 客户端在连接到服务器之后,流必须发送字符串之后才能被关闭和回收 bdw.close(); 2,在发送的字符串穿件分割符; 在发送字符串的时候添加分隔符,告诉服务器一行的结束位置;  \r\n是换行符 String text="您好\r\n"; 修改后的代码; 服务器 package 通信软件服务器;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.net.ServerSocket;import java.net.Socket;public class Demo {  public static void main(String[] args) {    try {      ServerSocket server = new ServerSocket(9090);      System.out.println("等待客户端连接");      Socket socket = server.accept();      System.out.println(socket.getRemoteSocketAddress() + "连接上服务器");             InputStream is = socket.getInputStream();      InputStreamReader isr = new InputStreamReader(is);      BufferedReader bis = new BufferedReader(isr);// int a=bis.read();// System.out.println(a);      //readLine()必须要有结束的标志\r\n      String line = bis.readLine();      System.out.println("line:" + line);    } catch (Exception e) {      e.printStackTrace();    }  } } 客户端; package 通信软件服务器;import java.io.BufferedWriter;import java.io.OutputStream;import java.io.OutputStreamWriter;import java.net.Socket;public class SocketDemo {  //private static String text="您好";  public static void main(String[] args) {     //Connection reset 连接被重置    try{    //创建套接字的连接对象    Socket socket = new Socket("127.0.0.1",9090);    OutputStream os = socket.getOutputStream();    OutputStreamWriter osw = new OutputStreamWriter(os);    BufferedWriter bdw = new BufferedWriter(osw);    //    String text="您好\n\r";    bdw.write(text, 0, text.length());    bdw.flush();      bdw.close();    }catch(Exception e){      e.printStackTrace();    }  } } 执行结果: 等待客户端连接 /127.0.0.1:53633连接上服务器

(0)

相关推荐

  • 连接被重置的解决方法

    玩电脑时可能会遇到连接被重置的问题,这困扰了不少用户,那么连接被重置的解决方法是什么呢?下面小编为大家介绍下吧 操作方法 01 首先打开命令栏窗口,输入"nslookup www.googl ...

  • 宽带连接错误769的解决方法

    宽带连接错误769的解决方法: 方法一:有本地连接,但是被禁止首先点击电脑桌面右下角的网络。 在网络列表中打开网络共享中心 在网络共享中心打开更改适配器设置。 找到本地连接 右键单击本地连接,选择连接 ...

  • Win7系统下VPN无法启动连接错误711的解决方法

    Win7系统下VPN连接错误711的解决方法,具体解决的方法步骤如下所示: 问题描述: 系统是Windows 7 64位旗舰版,之前没有使用任何优化工具优化系统,但总是无法启动VPN,提示“无法加载远 ...

  • Win7系统下VPN连接错误711的解决方法

    Win7系统下VPN连接错误711的解决方法,具体解决的方法步骤如下所示: 问题描述: 系统是Windows 7 64位旗舰版,之前没有使用任何优化工具优化系统,但总是无法启动VPN,提示“无法加载远 ...

  • Win8.1系统更新补丁后后无法连接WiFi热点的解决方法

    很多使用win8.1系统的用户,经常会出现wifi热点无法连接的问题,通常表行为,在更新win8系统之前wifi热点信号可正常使用,但更新系统后,出现无法连接wifi热点,所连接后的热点出现" ...

  • itunes无法连接iphone最全解决方法

    许多使用iPhone的用户都在抱怨说自己的iPhone或者mac,ipad等设备连接到电脑上的时候却发现无法连接却又不知道itunes无法连接iphone怎么办,果粉用户不用担心马上点击查看itune ...

  • windows8无线连接总是受限的解决方法

    Windows 8下无线连接总是受限的解决方法 最近安装了一个Win 8系统,发现无线连接总是提示受限,正在识别。 确定了不是路由的问题,重装网卡驱动也没解决。 后来发现是网卡的电源配置问题,解决办法 ...

  • win8连接wifi受限的解决方法

    win8无线连接(wifi)受限的解决方法 1、右键点击“我的电脑”找到“设备管理器”---双击“网络适配器”选择“broadcom802.11n”找到“电源管理”标签。将“允许计算机关闭此设备节约电 ...

  • 宽带连接提示错误678解决方法

    宽带连接错误678最简单实用的解决方法,如果按照下面的步骤依然不能解决问题,请及时与当地宽带提供商联系。 错误678怎么解决? 错误代码678怎么解决? 提示完整信息:错误678:远程计算机没有反应。 ...