Java- Senden von Benutzereingaben an einen Server

stimmen
0

Ich bin einen einfachen Chat-Raum simuliert durch einen Client und Server-Beziehung zu schaffen. Ich verwende nur die Netbeans IDE dies auszuführen. Wenn der Benutzer eingeben, was sie in die IDE-Konsole eingegeben wird an den Server gesendet und dann wieder hallte.

console = new BufferedReader(new InputStreamReader(System.in));    

while (thread != null) {  
    try {  
        streamOut.writeUTF(console.readLine());
        streamOut.flush();
    } catch(IOException ioe){  
        System.out.println(Sending error:  + ioe.getMessage());
        stop();
    }
}

Ich versuche, ein Login / Registersystem zu schaffen, in dem der Benutzer aufgefordert wird, Benutzername und Kennwort einzugeben. Ich möchte, dass die Programmausführung zu unterbrechen, bis die Enter-Taste gedrückt wird. Was ich momentan schneidet das erste Zeichen aus, wer oder was für Benutzername eingegeben

System.out.println(Type 1 if you are an existing user \nType 2 if you want to register);
System.in.read();
System.out.println(Username:);
System.in.read();
System.out.println(Password:);

Beispielausgabe

Connected: Socket[addr=/127.0.0.1,port=10233,localport=52932]
Type 1 if you are an existing user 
Type 2 if you want to register
2
Username:
foo
Password:
52932: oo
bar
52932: bar
Veröffentlicht am 05/12/2017 um 00:08
vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
1

Ich würde tun dies mit einem BufferedReader.

Etwas wie das:

BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Username: ");
String username = reader.readLine();
System.out.print("Password: ");
String password = reader.readLine();

Bitte beachten Sie, dass es schlechte Praxis Passwörter im Klartext zu senden und sie in String-Objekten zu speichern. Ein Angreifer wäre in der Lage, die Klartext-Benutzernamen und Passwort, ohne viel Aufwand zu schnuppern und es gibt eine Chance, dass die Zeichenfolge die Daten gelesen werden konnte, bevor es zerstört wird.

Beantwortet am 05/12/2017 um 00:46
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more