あるクライアント クラスから別のサーバー クラスにデータを渡す際に問題が発生しました。クライアントがサーバーに送信する各情報を格納する変数を作成し、アドレスまたはパスワードのいずれかが正しくない場合にサービスを拒否する if ステートメントを使用します。
ただし、ユーザーがパスワードを入力したときに問題が発生しました。次にアドレス。データは最初のラウンドで自動的に渡されます。クライアントがパスワード データを送信する代わりに、サーバーのパスワード変数にデータを格納します。次に、クライアントがアドレスを送信し、アドレス変数にデータを格納します。両方を送信し、両方を 1 つの変数に格納するだけです。
表示したい:
Password received: unlo91\ (made up password)
Address received: localhost
代わりに私は得る:
Password received: unlo91\localhost (made up password)
Address received: null
「そうです。クライアントはパスワードを送信しました。それを PW 変数に保存します。OK、それはすでに使用されているため (または既に一度使用されているため)、今は PW 変数に保存しないでください。次の使用可能な変数に移動します (アドレス) 次を保存します。」
サーバ:
cliPass = fromClient.readLine();
System.out.println("Client entered... " + cliPass );
cliAd = fromClient.readLine();
System.out.println("Client entered... " + cliAd);
クライアント:
System.out.println("Type password");
myPass = fromUser.readLine();
toServer.writeBytes(myPass);
System.out.println("Type address");
myAd = fromUser.readLine();
toServer.writeBytes(myAd);