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

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

Socket客戶端循環發送多條信息給服務端,發一次socket自動關閉?

目的:通過Socket客戶端發送多條數據給服務端

錯誤:

我是客戶端0,服務器說:歡迎您!

java.net.SocketException: Socket is closed

at java.net.Socket.getOutputStream(Socket.java:912)

at com.imooc.MultiClient.main(MultiClient.java:23)

方法:

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

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

//2.通過for循環發送多條數據

for(int i=0;i<6;i++){

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

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

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

pw.write("用戶名:"+i+";密碼:789");

pw.flush();

socket.shutdownOutput();//關閉輸出流

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

InputStream is=socket.getInputStream();

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

String info=null;

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

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

}

//關閉資源

br.close();

is.close();

pw.close();

os.close();

}

//3、關閉socket

socket.close();

正在回答

2 回答

123

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

你看一下5-1,也許就明白了

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

rosycloud 提問者

是因為輸出流關了所以socket關了?
2016-12-12 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

Socket客戶端循環發送多條信息給服務端,發一次socket自動關閉?

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

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

幫助反饋 APP下載

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

公眾號

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