我試圖創建更高級的服務器到客戶端程序,但我偶然發現了一個問題。我設法要求客戶輸入密碼,如果不是,則拒絕客戶。Java - 從服務器再次向客戶端請求密碼
但是,我試着給服務器添加一段時間的條件:如果客戶端輸入錯誤的密碼,然後讓他/她重新輸入密碼。但我嘗試使用掃描儀,但不認爲這是解決方案,因爲我收到錯誤。
服務器端:
while(pw.equals("PASS")){
toClient.writeBytes("This pw " + pw + " is correct. Access granted! " + "\n");
}
toClient.writeBytes("Your password... " + pw + " is wrong. Please retry.");
pw = fromClient.readLine();
toClient.writeBytes(pw+ "\n");
}
客戶端:
System.out.print("Enter your password: ");
myPass = fromUser.readLine();
toServer.writeBytes(myPass + "\n");
myPass = fromServer.readLine();
System.out.println(myPass);
的代碼是很長。但一切正常。連接建立後,端口號是一樣的。唯一的問題是我無法讓客戶繼續重新輸入密碼直到正確。
我是否也必須爲客戶做一個while循環呢?我不太確定...
我想知道爲什麼你低估了我的答案。所以我可能會改進我的下一個答案(或者至少是這個答案)! – j0chn 2013-03-10 22:06:48
感謝您的回覆。我會嘗試一下。我沒有downvote,但我會upvote你的支持:) – Dembele 2013-03-10 22:26:47
對不起,讓我回到你身邊。我終於設法解決了這個問題,並帶了一些試驗和錯誤。我沒有使用布爾值,而是爲客戶端使用了一個while循環。但它現在不斷要求密碼。 TY再次! – Dembele 2013-03-10 23:54:09