Cet article partage le code d'implémentation spécifique pour la vérification du nom d'utilisateur du serveur de connexion du client Java pour votre référence. Le contenu spécifique est le suivant
Le client entre le nom d'utilisateur via le clavier et le serveur vérifie le nom d'utilisateur.
Si le nom d'utilisateur existe, le serveur affiche que XXX est connecté et le client affiche XXX, bienvenue pour se connecter.
Si le nom d'utilisateur n'existe pas, le serveur affiche XXX pour essayer de se connecter, le client affiche XXX et le nom d'utilisateur n'existe pas.
Connectez-vous au plus trois fois pour empêcher la connexion violente.
importer java.io. *; importer java.net. *; / * * Client * / class Client {public static void main (String [] args) lève exception {socket s = new socket ("192.168.33.1", 10008); // créer un service bufferedader bufr = new BuffereDader (new InputStreamReader (System.in)); // Lisez le clavier et entrez le nom d'utilisateur Printwriter Pwer Pw = new = new Printwriter (s.getOutputStream (), true); // Écrivez le BufferedReader sur le serveur après avoir lu les données bufin = new BuffereDader (new InputStreamReader (s.getInputStream ())); // Lisez les données renvoyées par le client pour (int x = 0; x <3; x ++) // Login uniquement 3 fois pour définir {Line String Line = bufr.Read () // User uniquement pour définir {Line String Line = bufr.Read () pw.println (ligne); if (line == null) // terminer la rupture avec un nom d'utilisateur vide; pw.println (ligne); String info = bufin.readline (); // Lire les données renvoyées par le serveur System.out.println ("Info du serveur:" + info); if (info.Contains ("Bienvenue pour se connecter")) // User Login Terminal Break; } bufr.close (); S.Close (); }} / * * Server * / class ServerThread implémente Runnable {private socket s; Serverthread (socket s) {this.s = s; } public void run () {String ip = s.getinetAddress (). GethostAddress (); System.out.println (ip + "........... connect"); try {for (int x = 0; x <3; x ++) {buttereDreader bufin = new BuffereDaDer (new inputStreamReader (s.getInputStream ())); // lire les données envoyées par la chaîne client nom = bufin.readline (); if (name == null) pause; BufferedReader bufr = new BufferedReader (new FileReader ("user.txt")); // Lire le compte d'utilisateur qui a été déposé, qui devait à l'origine lire la base de données, donc j'ai écrit un texte ici Printwriter Out = New Printwriter (S.GetOutputStream (), True); // Write to the Stream, and the Server Line Line = Null; booléen flag = false; // juge tag while ((line = bufr.readline ())! = null) // lire les données dans la base de données (use.txt) {if (line.equals (name)) // si la base de données et le nom d'utilisateur sont les mêmes, terminer {flag = true; casser; }} if (flag) {System.out.println (name + ": Logine"); out.println (nom + ": bienvenue pour se connecter"); casser; } else {System.out.println (name + ": essayez de vous connecter"); out.println (nom + ": le nom d'utilisateur n'existe pas"); }} s.close (); } catch (exception e) {lancer un nouveau runtimeException ("Vérification a échoué"); }}} class Server {public static void main (String [] args) lève une exception {Serversocket ss = new serversocket (10008); // Créer un service while (true) {socket s = ss.accept (); // reçoit les données envoyées par le client nouveau (nouveau serverthread (s)). start (); // start thread}}}}Résultat d'impression:
user.txt
Ce qui précède concerne cet article, j'espère qu'il sera utile à l'apprentissage de tout le monde.