-1
try {
Scanner inConsole = new Scanner(System.in);
String CONNECT_TO_WHOM = "";
Socket clientEndPoint = new Socket("localhost", 9000);
PrintWriter out = new PrintWriter(clientEndPoint.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(clientEndPoint.getInputStream()));
MessageFromServerThread messageFromServer = new MessageFromServerThread(in);
messageFromServer.start();
// Giving Client Details To whom To Connect
if(!in.ready())
CONNECT_TO_WHOM = inConsole.nextLine();
//System.out.println("You are Connecting To This " + CONNECT_TO_WHOM);
out.println(CONNECT_TO_WHOM);
//break;
System.out.println("To quit press q");
//inConsole.nextLine();
while(!clientMessage.equals("q")) {
out.println(clientMessage = inConsole.nextLine());
//System.out.println(in.readLine());
}
System.out.println("Check in chatClient");
} catch(Exception e) {
e.printStackTrace();
}
代碼工作流程: 每當客戶獲取連接它的服務器,服務器將通知客戶有關的所有其他可用的客戶端,然後從客戶端,服務器期望到哪個客戶端連接。 在這裏,客戶端可能在他想與他人通信之前連接到另一個客戶端。在這種情況下,服務器會通知您已連接到客戶端X.我想通過if(!in.ready())
來檢查此事件的發生。的BufferedReader`is.ready()`方法不properyly工作
我明白,in
緩衝區可能很空。任何有效地做這種檢查的方法。
什麼是'in'的基本輸入? 「不知道它不在我的代碼中工作」是什麼意思?你的證據證明該方法工作不正常? – EJP 2014-11-06 07:31:47
現在的問題是什麼? – EJP 2014-11-06 11:22:41
我想通了。謝謝。 – saikumarm 2014-11-06 16:17:28