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

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

Connection reset

我的代碼如下:

package regist;


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協議的Scoket通信,實現用戶登錄

?* 服務器端(先啟動)

?*/

public class Server {

public static void main(String[] args){

try {

//1 創建一個服務器Scoket,即ServerScoket,綁定端口,并監聽該端口

ServerSocket severScoket=new ServerSocket(6666);

//2 調用方法accept()開始監聽,等待客戶端的鏈接

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

Socket scoket=severScoket.accept();

//3 獲取輸入流,用來獲取客戶端信息

InputStream is=scoket.getInputStream();//字節輸入流

InputStreamReader isr=new InputStreamReader(is);//將字節流轉化(包裝)為字符流

BufferedReader br=new BufferedReader(isr);//為輸入流添加緩沖?

String info=null;

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

System.out.println("我是服務器,客戶端說:"+info);

}

scoket.shutdownInput();//關閉輸入流

//4.獲取輸出流,響應客戶端的請求

OutputStream os=scoket.getOutputStream();

PrintWriter pw=new PrintWriter(os);//包裝為打印流

pw.write("歡迎您");

pw.flush();//調用flush()方法將緩沖輸出

//5關閉資源

pw.close();

os.close();

br.close();

isr.close();

is.close();

scoket.close();

severScoket.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}


}

客戶端:

package regist;


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){

try {

//1 創建服務器Socket,指定服務器地址和端口號

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

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

OutputStream os=socket.getOutputStream();//獲取了字節輸出流

PrintWriter pw=new PrintWriter(os);//將輸出流包裝為打印流

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

pw.flush();

socket.shutdownInput();//關閉流

//3 獲取輸入流,并讀取服務器端的響應信息

InputStream is=socket.getInputStream();

BufferedReader br=new BufferedReader(new InputStreamReader(is));

String info=null;

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

System.out.println("我是客戶端,服務器說:"+info);

}

//4.關閉資源

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();

}

}

}

運行之后:

http://img1.sycdn.imooc.com//575221df00010fad07320344.jpg

在我輸入時,我發現有已經有人出現過這樣的問題,我對了一下建議,可還是沒發現我錯在哪里,所以請幫我看一下

正在回答

1 回答

客戶端

pw.flush();

socket.shutdownInput();//關閉流

是不是應該關閉輸出流

socket.shutdownOutput();//關閉流

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

qq_陽光下的海風_0 提問者

竟然真的好了?。?!萬分感謝
2016-06-04 回復 有任何疑惑可以回復我~
#2

qq_陽光下的海風_0 提問者

犀利!能再幫我解決一個問題嗎? 為什么我第二次運行程序時,總會出現拒絕連接的異常? 老師只要停止一下就可以,可是我運行時,重啟eclipse都沒用
2016-06-04 回復 有任何疑惑可以回復我~
#3

aryong 回復 qq_陽光下的海風_0 提問者

我的有時也會出現這樣的情況,然后我就換一個端口號,就沒問題了,具體原因還不是很清楚,我是小白
2016-06-07 回復 有任何疑惑可以回復我~
#4

qq_陽光下的海風_0 提問者 回復 aryong

哈哈哈,我也是呀,運行一次換一次端口號!
2016-06-07 回復 有任何疑惑可以回復我~
查看1條回復

舉報

0/150
提交
取消

Connection reset

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

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

幫助反饋 APP下載

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

公眾號

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