より高度なサーバーからクライアントへのプログラムを作成しようとしていますが、問題が発生しました。私はなんとかクライアントにパスワードを入力するように頼みました、そしてfalseの場合、それはクライアントを拒否します。
ただし、サーバーにwhile条件を追加してみました。クライアントが間違ったパスワードを入力した場合は、パスワードを再入力するように依頼してください。しかし、私はスキャナーを使用しようとしましたが、エラーが発生するため、それが解決策ではないと思います。
サーバ側:
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ループを作成する必要がありますか?よくわかりません...