第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

讀取和響應(yīng)合起來出錯(cuò)了

服務(wù)器從客戶端讀取用戶名,密碼。沒問題

服務(wù)器響應(yīng)客戶端,發(fā)送“歡迎您”。沒問題

但讀取用戶名和密碼之后響應(yīng)“歡迎您”就會(huì)報(bào)錯(cuò)???!??!

為什么各自執(zhí)行沒問題合起來就出錯(cuò)了呢?(代碼和老師的一樣

正在回答

4 回答

這么跟你說吧,你代碼肯定跟老師不一樣,我想應(yīng)該是你的關(guān)閉socket輸入輸出流的順序有問題。

截圖跟你看:服務(wù)器端,這三步要依次來,這是有原因的

http://img1.sycdn.imooc.com//573e7f8e0001021808350671.jpg

客戶端:對(duì)應(yīng)的順序也不能顛倒,你做到了這些,包你沒問題,妥妥的

http://img1.sycdn.imooc.com//573e80010001a38807850674.jpg

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

Helios_ 提問者

非常感謝!
2016-05-22 回復(fù) 有任何疑惑可以回復(fù)我~

源碼給你

客戶端:

package?com.imooc.ServerAndClient;

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)?throws?UnknownHostException?{
		
		try?{
			//?創(chuàng)建socket,指定服務(wù)器端的ip地址和端口
			Socket?socket?=?new?Socket("localhost",?6666);
			//?獲取輸出流,向服務(wù)器端發(fā)送信息
			OutputStream?outputStream?=?socket.getOutputStream();
			//?將輸出流轉(zhuǎn)換成打印流
			PrintWriter?pw?=?new?PrintWriter(outputStream);
			pw.print("用戶名:root;密碼:123");
			pw.flush();
			//?關(guān)閉socke流
			socket.shutdownOutput();
????????????//?開始讀取客戶端信息
			
			InputStream?inputStream?=?socket.getInputStream();
			InputStreamReader?inputStreamReader?=?new?InputStreamReader(inputStream);
			BufferedReader?bufferedReader?=?new?BufferedReader(inputStreamReader);
			String?info?=?null;
			while?((info?=?bufferedReader.readLine())?!=?null)?{
				System.out.println("客戶端接受服務(wù)器端信息:"?+?info);
			}
			//?關(guān)閉socke流
			socket.shutdownInput();			
			//關(guān)閉其他資源
			bufferedReader.close();
			inputStreamReader.close();
			inputStream.close();
			pw.close();
			outputStream.close();
			socket.close();
			
?		}?catch?(IOException?e)?{
			
			e.printStackTrace();
		}
	}

}

服務(wù)器端:

package?com.imooc.ServerAndClient;

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;

/**
?*?實(shí)現(xiàn)基于TCP協(xié)議的Socket通信--Server服務(wù)端
?*?
?*?@author?ykp
?*?
?*/
public?class?Server?{

	public?static?void?main(String[]?args)?{

		try?{
			//?創(chuàng)建一個(gè)服務(wù)器端的Socket實(shí)例
			ServerSocket?serverSocket?=?new?ServerSocket(6666);
			System.out.println("服務(wù)器即將啟動(dòng),等待客戶端連接....");
			//?調(diào)用accept()方法監(jiān)聽端口,等待客戶端的連接
			Socket?socket?=?serverSocket.accept();
			//?獲取輸入流,讀取客戶端信息
			InputStream?inputStream?=?socket.getInputStream();
			//?將字節(jié)流轉(zhuǎn)換成字符流
			InputStreamReader?inputStreamReader?=?new?InputStreamReader(
					inputStream);
			//?給字符輸入流添加緩沖
			BufferedReader?bufferedReader?=?new?BufferedReader(
					inputStreamReader);
			String?info?=?null;
			while?((info?=?bufferedReader.readLine())?!=?null)?{
				System.out.println("服務(wù)器接受客戶端信息:"?+?info);
			}
			//?關(guān)閉socket輸出流和socket輸入流
			socket.shutdownInput();
			//?服務(wù)器向客戶端發(fā)送信息
			OutputStream?outputStream?=?socket.getOutputStream();
			PrintWriter?pw?=?new?PrintWriter(outputStream);
			pw.print("歡迎你!");
			pw.flush();
			
			//?關(guān)閉socket輸出流和socket輸入流
			socket.shutdownOutput();
			
			//?關(guān)閉其他資源
			pw.close();
			outputStream.close();
			bufferedReader.close();
			inputStreamReader.close();
			inputStream.close();

			//關(guān)閉socket
			socket.close();
			serverSocket.close();
		}?catch?(IOException?e)?{

			e.printStackTrace();
		}

	}

}


0 回復(fù) 有任何疑惑可以回復(fù)我~

代碼都不給 怎么給你答案

0 回復(fù) 有任何疑惑可以回復(fù)我~

服務(wù)器從客戶端讀取用戶名,密碼。沒問題

服務(wù)器響應(yīng)客戶端,發(fā)送“歡迎您”。沒問題

沒看懂,從這兩句話得出服務(wù)器可以讀取客戶端數(shù)據(jù);客戶端可以讀取服務(wù)器數(shù)據(jù)。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

Helios_ 提問者

服務(wù)器讀取客戶端數(shù)據(jù)、服務(wù)器向客戶端發(fā)送數(shù)據(jù)。這兩個(gè)功能分開執(zhí)行沒問題,但將代碼放到一起之后就出錯(cuò)(兩個(gè)功能不能同時(shí)實(shí)現(xiàn)
2016-04-25 回復(fù) 有任何疑惑可以回復(fù)我~
#2

菜鳥555 回復(fù) Helios_ 提問者

給全部代碼看看。
2016-04-27 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

讀取和響應(yīng)合起來出錯(cuò)了

我要回答 關(guān)注問題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)