亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

運行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協議的服務端

?*/

public class TCPServer {


public static void main(String[] args) {

try {

//1、創建一個服務器端的Socket,即ServerSocket,指定綁定的端口,并對其監聽

ServerSocket socket = new ServerSocket(5000);

//2、調用accept()方法對其監聽,并等待客戶端的響應

System.out.println("****服務器即將啟動,等待客戶端的連接****");

Socket socket2 = socket.accept();//在沒有連接前,處于阻塞狀態

//3、獲取輸入流,并等待客戶端的響應

InputStream iStream = socket2.getInputStream();

InputStreamReader iReader = new InputStreamReader(iStream);//把字節流轉換成字符流

BufferedReader bReader = new BufferedReader(iReader);//緩存存儲

String info = null;

while((info = bReader.readLine())!=null){

System.out.println("我是服務器,客戶端發送的信息:"+info);

}

socket2.shutdownInput();

//4、獲取輸出流,響應客戶端的響應

OutputStream oStream = socket2.getOutputStream();

PrintWriter pWriter = new PrintWriter(oStream);

pWriter.write("歡迎你登入!!!");

pWriter.flush();

//5、關閉資源

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協議的客戶端

?*/

public class TCPClient {


public static void main(String[] args) {

try {

//1、創建客戶端的Socket,并指定地址和端口

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

//2、獲取輸出流,向服務器發送信息

OutputStream oStream = socket.getOutputStream();//字節輸出流

PrintWriter pWriter = new PrintWriter(oStream);//將輸出流轉換成打印流

pWriter.write("用戶名:admin;密碼:123");

pWriter.flush();

socket.shutdownInput();

//3、接收服務器發送來的反饋信息

InputStream iStream = socket.getInputStream();

//InputStreamReader inputStreamReader = new InputStreamReader(iStream);//將字節流轉換成字符流

BufferedReader bReader = new BufferedReader(new InputStreamReader(iStream));

String info = null;

while((info = bReader.readLine())!=null){

System.out.println("我是客戶端,服務器反饋的信息:"+info);

}

//4、關閉資源

iStream.close();

bReader.close();

pWriter.close();

oStream.close();

socket.close();

} catch (UnknownHostException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}


}


}

按照視頻講的代碼來寫的,Server可以正常運行,但運行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)

有沒有知道怎么回事

正在回答

2 回答

/*

?* 基于TCP協議的客戶端

?*/

public class TCPClient {


public static void main(String[] args) {

try {

// 1、創建客戶端的Socket,并指定地址和端口

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

// 2、獲取輸出流,向服務器發送信息

OutputStream oStream = socket.getOutputStream();// 字節輸出流

PrintWriter pWriter = new PrintWriter(oStream);// 將輸出流轉換成打印流

pWriter.write("用戶名:admin;密碼:123");

pWriter.flush();

socket.shutdownOutput();//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

// 3、接收服務器發送來的反饋信息

InputStream iStream = socket.getInputStream();

// InputStreamReader inputStreamReader = new

// InputStreamReader(iStream);//將字節流轉換成字符流

BufferedReader bReader = new BufferedReader(new InputStreamReader(iStream));

String info = null;

while ((info = bReader.readLine()) != null) {

System.out.println("我是客戶端,服務器反饋的信息:" + info);

}

// 4、關閉資源

iStream.close();

bReader.close();

pWriter.close();

oStream.close();

socket.close();

} catch (UnknownHostException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}


}


1 回復 有任何疑惑可以回復我~
#1

天翼飛虹 提問者

非常感謝!
2016-10-25 回復 有任何疑惑可以回復我~

到底是改了哪里?我的也報這樣的錯誤

0 回復 有任何疑惑可以回復我~
#1

單行道上

加那么多感嘆號你看不到
2017-02-11 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

運行Client端報錯

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號