Les informations du client sont lues via le flux d'entrée et, en conséquence, elles sont implémentées via le flux de sortie.
Code de classe de serveur:
Importer java.io.bufferedReader; Importer java.io.ioException; import java.io.inputstream; import java.io.inputstreamreader; import java.io.outputStream; import java.netocketwriter; import java.net.logging; java.util.logging.logger; / ** * * @author whn6325689 * / public class server {// server-side public static void main (string [] args) {try {// 1. Créez une prise côté serveur, c'est-à-dire Serversocket, spécifiez le port lié et écoutez ce port. SERVERSOCKET SERVERSOCKET = NOUVEAU SERVERSOCKET (8888); // 2. Appelez la méthode SERVERSocket accepte () pour attendre que le client connecte System.out.println ("== le serveur est sur le point de démarrer, en attendant que le client se connecte =="); socket socket = serversocket.accept (); // 3. Obtenez le flux d'entrée pour lire les informations de connexion envoyées par le client InputStream est = socket.getInputStream (); // Byte Input Stream InputStreamReder ISR = new InputStreamReader (IS); // Converti le flux d'octets en un flux de caractères // Ajouter un tampon tamponné pour le Stream Buffreder pour le flux de caractères; Client while ((info = bufferedReader.readline ())! = null) {System.out.println ("Je suis un serveur, et les informations soumises par le client sont:" + info);} socket.shutdownut (); // 4. Obtenez le flux de sortie et répondez à la demande du client OutputStream OS = socket.getOutputStream (); printwriter pw = new PrintWriter (OS); // converti en stream imprimé pw.write ("bienvenue!"); Pw.flush (); // Fresh Cache // 5. Close Related Resources BufferedReader.Close (); is.close (); Isr.close (); socket.close (); serversocket.close (); os.close (); pw.close ();} catch (ioException ex) {Logger.getLogger (server.class.getName ()).Code de classe client:
Importer java.io.bufferedReader; import java.io.ioexception; import java.io.inputStream; import java.io.inputStreamReader; import java.io.outputStream; import java.io.printwriter; java.util.logging.logger; / ** * * @author whn6325689 * / public class Client {// Client public static void main (String [] args) {try {// 1. Créez une prise client, spécifiez l'adresse du serveur et le numéro de port. Socket socket = new socket ("127.0.0.1", 8888); // 2. Amenez le flux de sortie pour envoyer des informations sur le serveur OutputStream OS = socket.getOutputStream (); // Byte Output Stream // Convert to Print Stream Printwriter PW = New Printwriter (OS); PW.Write ("Nom d'utilisateur: Admin; Mot de passe: Admin"); PW.Flush (); // Frais le cache et les informations de sortie pour le serveur // Fermez le flux de sortie SOIGH Obtenez le flux d'entrée pour lire les informations de réponse sur le serveur InputStream est = socket.getInputStream (); BufferedReader br = new BuffereDader (new InputStreamReader (IS)); String info = null; while ((infoadLeadline ())! = Null) {System.out.Println ("je suis le client, et les informations renvoyées par le serveur est:" +. Fermez la ressource br.close (); is.close (); pw.close (); os.close (); socket.close ();} catch (ioException ex) {logger.getLogger (client.class.getName (). Log (niveau.severe, null, ex);}}}}Exécutez d'abord la classe côté serveur, puis exécutez la classe client:
Résultat de sortie de la classe côté serveur:
== Le serveur est sur le point de démarrer, en attendant que le client se connecte == Je suis le serveur, les informations soumises par le client sont: nom d'utilisateur: admin; Mot de passe: administrateur
Le résultat de sortie de la classe client:
Je suis le client, et les informations renvoyées par le serveur sont: bienvenue!
Résumer
Ce qui précède est l'intégralité du contenu de cet article sur le code d'instance de réponse du serveur de programmation Java Socket, j'espère que cela sera utile à tout le monde. Les amis intéressés peuvent continuer à se référer à ce site:
Java Programming Socket implémente plusieurs clients pour se connecter au même code de serveur
Exemple de code pour implémenter la communication de socket dans la programmation multithread Java
S'il y a des lacunes, veuillez laisser un message pour le signaler. Merci vos amis pour votre soutien pour ce site!