運(yùn)行Client端報錯
Server
package socket;
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.ServerSocket;
import java.net.Socket;
/*
?* 基于TCP協(xié)議的服務(wù)端
?*/
public class TCPServer {
public static void main(String[] args) {
try {
//1、創(chuàng)建一個服務(wù)器端的Socket,即ServerSocket,指定綁定的端口,并對其監(jiān)聽
ServerSocket socket = new ServerSocket(5000);
//2、調(diào)用accept()方法對其監(jiān)聽,并等待客戶端的響應(yīng)
System.out.println("****服務(wù)器即將啟動,等待客戶端的連接****");
Socket socket2 = socket.accept();//在沒有連接前,處于阻塞狀態(tài)
//3、獲取輸入流,并等待客戶端的響應(yīng)
InputStream iStream = socket2.getInputStream();
InputStreamReader iReader = new InputStreamReader(iStream);//把字節(jié)流轉(zhuǎn)換成字符流
BufferedReader bReader = new BufferedReader(iReader);//緩存存儲
String info = null;
while((info = bReader.readLine())!=null){
System.out.println("我是服務(wù)器,客戶端發(fā)送的信息:"+info);
}
socket2.shutdownInput();
//4、獲取輸出流,響應(yīng)客戶端的響應(yīng)
OutputStream oStream = socket2.getOutputStream();
PrintWriter pWriter = new PrintWriter(oStream);
pWriter.write("歡迎你登入!!!");
pWriter.flush();
//5、關(guān)閉資源
oStream.close();
pWriter.close();
bReader.close();
iReader.close();
iStream.close();
socket.close();
socket2.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Client
package socket;
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;
/*
?* 基于TCP協(xié)議的客戶端
?*/
public class TCPClient {
public static void main(String[] args) {
try {
//1、創(chuàng)建客戶端的Socket,并指定地址和端口
Socket socket = new Socket("localhost", 5000);
//2、獲取輸出流,向服務(wù)器發(fā)送信息
OutputStream oStream = socket.getOutputStream();//字節(jié)輸出流
PrintWriter pWriter = new PrintWriter(oStream);//將輸出流轉(zhuǎn)換成打印流
pWriter.write("用戶名:admin;密碼:123");
pWriter.flush();
socket.shutdownInput();
//3、接收服務(wù)器發(fā)送來的反饋信息
InputStream iStream = socket.getInputStream();
//InputStreamReader inputStreamReader = new InputStreamReader(iStream);//將字節(jié)流轉(zhuǎn)換成字符流
BufferedReader bReader = new BufferedReader(new InputStreamReader(iStream));
String info = null;
while((info = bReader.readLine())!=null){
System.out.println("我是客戶端,服務(wù)器反饋的信息:"+info);
}
//4、關(guān)閉資源
iStream.close();
bReader.close();
pWriter.close();
oStream.close();
socket.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
按照視頻講的代碼來寫的,Server可以正常運(yùn)行,但運(yùn)行Client就會報這個錯誤
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:196)
at java.net.SocketInputStream.read(SocketInputStream.java:122)
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177)
at java.io.InputStreamReader.read(InputStreamReader.java:184)
at java.io.BufferedReader.fill(BufferedReader.java:154)
at java.io.BufferedReader.readLine(BufferedReader.java:317)
at java.io.BufferedReader.readLine(BufferedReader.java:382)
at socket.TCPServer.main(TCPServer.java:30)
有沒有知道怎么回事
2016-10-24
/*
?* 基于TCP協(xié)議的客戶端
?*/
public class TCPClient {
public static void main(String[] args) {
try {
// 1、創(chuàng)建客戶端的Socket,并指定地址和端口
Socket socket = new Socket("localhost", 5000);
// 2、獲取輸出流,向服務(wù)器發(fā)送信息
OutputStream oStream = socket.getOutputStream();// 字節(jié)輸出流
PrintWriter pWriter = new PrintWriter(oStream);// 將輸出流轉(zhuǎn)換成打印流
pWriter.write("用戶名:admin;密碼:123");
pWriter.flush();
socket.shutdownOutput();//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
// 3、接收服務(wù)器發(fā)送來的反饋信息
InputStream iStream = socket.getInputStream();
// InputStreamReader inputStreamReader = new
// InputStreamReader(iStream);//將字節(jié)流轉(zhuǎn)換成字符流
BufferedReader bReader = new BufferedReader(new InputStreamReader(iStream));
String info = null;
while ((info = bReader.readLine()) != null) {
System.out.println("我是客戶端,服務(wù)器反饋的信息:" + info);
}
// 4、關(guān)閉資源
iStream.close();
bReader.close();
pWriter.close();
oStream.close();
socket.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
2017-02-06
到底是改了哪里?我的也報這樣的錯誤