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

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

為何沒反應呢?

package?com.test;
/*
?*?server類
?*/
import?java.io.BufferedReader;
import?java.io.BufferedWriter;
import?java.io.IOException;
import?java.io.InputStream;
import?java.io.InputStreamReader;
import?java.io.OutputStream;
import?java.io.OutputStreamWriter;
import?java.net.ServerSocket;
import?java.net.Socket;

public?class?Server?{

	public?static?void?main(String[]?args)?{
		try?{
			//創建ServerSocket對象
			ServerSocket?server=new?ServerSocket(8888);
			System.out.println("服務器等待連接中.....");
			//調用accept()開始監聽,等待客戶端的連接
			Socket?s=server.accept();
			//獲得輸入流,來讀取客戶信息
			InputStream?in=s.getInputStream();//字節輸入流
			InputStreamReader?isr=new?InputStreamReader(in);//將字節流包裝為字符流
			BufferedReader?br=new?BufferedReader(isr);//為輸入流添加緩沖
			String?info=null;
			while((info=br.readLine())!=null){
				System.out.println("******服務器開始讀取*****");
				System.out.println("我是服務器,客戶端說:"+info);
				info=br.readLine();
			}
			//添加輸出流,為客戶端輸出信息
			OutputStream?out=s.getOutputStream();
			BufferedWriter?bw=new?BufferedWriter(new?OutputStreamWriter(out));
			bw.write("歡迎您?。。?);
			bw.flush();
			//關閉資源
			out.close();
			bw.close();
			server.close();
			in.close();
			isr.close();
			br.close();
			
		}?catch?(IOException?e)?{
			//?TODO?Auto-generated?catch?block
			e.printStackTrace();
		}
	}
}
package?com.test;
/*
?*?client類
?*/
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?{
			//創建Socket對象
			Socket?socket=new?Socket("localhost",?8888);
			//獲取輸出流?
			OutputStream?out=socket.getOutputStream();
			PrintWriter?pw=new?PrintWriter(out);
			pw.write("ueser:tom;key:123");
			pw.flush();
			//添加輸出流
			InputStream?in=socket.getInputStream();
			BufferedReader?br=new?BufferedReader(new?InputStreamReader(in));
			String?info=null;
			while((info=br.readLine())!=null){
			System.out.println("我是客戶端,服務器端說:"+info);
			}
			//關閉資源
			in.close();
			br.close();
			socket.close();
			out.close();
			pw.close();
		}?catch?(UnknownHostException?e)?{
			//?TODO?Auto-generated?catch?block
			e.printStackTrace();
		}?catch?(IOException?e)?{
			//?TODO?Auto-generated?catch?block
			e.printStackTrace();
		}
		

	}

}

client控制臺就顯示:服務器等待連接中.....

server控制臺沒反應

正在回答

1 回答

解決辦法:

在Server類的第33、34行像講師一樣插入這句代碼:

s.shutdownInput();

在Server類的原第38、39行像講師一樣插入這句代碼:

s.shutdownOutput();

在Client類的第24、25行像講師一樣插入這句代碼:

socket.shutdownOutput();

在Client類的原第31、32行像講師一樣插入這句代碼:

socket.shutdownInput();


p.s. 建議把Server類的第30行代碼放到28或29行之前。

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

SoyaDokio

順帶建議題主看看這個問題及我的回復http://www.xianlaiwan.cn/qadetail/130222
2016-07-02 回復 有任何疑惑可以回復我~
#2

夜還沒黑 提問者

謝謝,我也發現了這個問題了
2016-07-02 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為何沒反應呢?

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

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

幫助反饋 APP下載

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

公眾號

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