Connection reset异常

来源:3-5 使用多线程实现多客户端的通信

找个女人

2016-04-26 14:50

package Dsocket;


import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.OutputStream;

import java.io.PrintWriter;

import java.net.Socket;

import java.net.UnknownHostException;


public class Client {

public static void main(String[] args) {

//创建一个socket对象,绑定其端口号和Ip地址

try {

Socket socket = new Socket("localhost",30000);

OutputStream os = socket.getOutputStream();

PrintWriter pw = new PrintWriter(os);//将字节输出流转换成字符输出流。

pw.write("用户名:sgeg;密码:6789298");

pw.flush();

socket.shutdownInput();//关闭输出流

//获取字节输入流,读取服务器端的信息。

InputStream is = socket.getInputStream();

BufferedReader br = new BufferedReader

(new InputStreamReader(is));

String s = null;

while((s=br.readLine())!=null){

System.out.println("from server; client:"+s);

}

socket.shutdownInput();

//关闭相关资源

br.close();

is.close();

pw.close();

os.close();

socket.close();

} catch (UnknownHostException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

在Client中报错。报错代码如下:

报错代码提示:while((s=br.readLine())!=null){

服务器已开启,等待客户端连接

客户端的数量:1

计算机的ip地址为:127.0.0.1

java.net.SocketException: Connection reset

at java.net.SocketInputStream.read(SocketInputStream.java:168)

at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:264)

at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306)

at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158)

at java.io.InputStreamReader.read(InputStreamReader.java:167)

at java.io.BufferedReader.fill(BufferedReader.java:136)

at java.io.BufferedReader.readLine(BufferedReader.java:299)

at java.io.BufferedReader.readLine(BufferedReader.java:362)

at Dsocket.ServerThread.run(ServerThread.java:30)


写回答 关注

2回答

  • qq_云在风中_0
    2016-05-20 11:54:31
    已采纳

    http://img.mukewang.com/573e8a3f0001c93a05850424.jpg

    输出流,你关了输入流

    找个女人

    非常感谢!

    2016-06-07 14:37:06

    共 1 条回复 >

  • 灿烂满天星
    2016-04-26 21:54:01

    BufferedReader br = new BufferedReader这句后面是不是忘了()

Java Socket应用---通信是这样练成的

分享的是 Java 中的网络编程,使用Socket实现网络聊天通信

125013 学习 · 590 问题

查看课程

相似问题