Connection reset異常
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) {
//創(chuàng)建一個socket對象,綁定其端口號和Ip地址
try {
Socket socket = new Socket("localhost",30000);
OutputStream os = socket.getOutputStream();
PrintWriter pw = new PrintWriter(os);//將字節(jié)輸出流轉(zhuǎn)換成字符輸出流。
pw.write("用戶名:sgeg;密碼:6789298");
pw.flush();
socket.shutdownInput();//關(guān)閉輸出流
//獲取字節(jié)輸入流,讀取服務(wù)器端的信息。
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();
//關(guān)閉相關(guān)資源
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){
服務(wù)器已開啟,等待客戶端連接
客戶端的數(shù)量: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)
2016-05-20
輸出流,你關(guān)了輸入流
2016-04-26
BufferedReader br = new BufferedReader這句后面是不是忘了()