La información del cliente se lee a través del flujo de entrada y, en consecuencia, se implementa a través de la transmisión de salida.
Código de clase del servidor:
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.PrintWriter;import java.net.ServerSocket;import java.net.Socket;import java.util.logging.Level;import java.util.logging.logger;/** * * @author whn6325689 */public class Server {// servidor public static void main (string [] args) {try {// 1. Cree un socket del lado del servidor, es decir, Serversocket, especifique el puerto unido y escuche este puerto. ServerSocket ServerSocket = nuevo Serversocket (8888); // 2. Llame al método Acept () de Serversocket para esperar a que el cliente conecte System.out.println ("== El servidor está a punto de comenzar, esperando que el cliente conecte =="); socket socket = serversocket.accept (); // 3. Obtenga la transmisión de entrada para leer la información de inicio de sesión enviada por el cliente Enumerstream IS = Socket.getInputStream (); // Byte Input Stream InputStreamReader isr = new InputStreamReader (is); // Convertir la transmisión de byte en transmisión de caracteres // Agregar BufferedReader para caracteres flujo de caracteres Buffereder = new Bustereder (isr); string INTERME = Null; while ((info = bufferedReader.readline ())! = null) {system.out.println ("Soy un servidor, y la información enviada por el cliente es:"+info);} Socket.shutdownInput (); // 4. Obtenga la transmisión de salida y responda a la solicitud del cliente OutStream OS = Socket.getOutputStream (); PrintWriter pw = new PrintWriter (OS); // Convertir para imprimir Stream Pw.Write ("¡Bienvenido!"); PW.Flush (); // Fresh Cache // 5. Cerrar recursos relacionados bufferedReader.close (); is.close (); isR.close (); Socket.close (); Serversocket.close (); OS.Close (); pw.close ();} Catch (ioexception ex) {logger.getLogger (servidor.class.getName (). Log (nivel.severe, null, ex);};}Código de clase de cliente:
import java.io.bufferedReader; import java.io.ioException; import java.io.inputStream; import java.io.inputstreamreader; import java.io.outputstream; import java.io.printwriter; import java.net.socket; import java.util.logging.level; import java.util.util.util.Logger; * * @author whn6325689 */public class Client {// Client public static void main (string [] args) {try {// 1. Cree un socket de cliente, especifique la dirección del servidor y el número de puerto. Socket de socket = nuevo socket ("127.0.0.1", 8888); // 2. Obtenga la transmisión de salida para enviar información al servidor OutputStream OS = Socket.getOutputStream (); // BYTE SALUT SEMAND // Convertir para imprimir stream printWriter pw = new printWriter (OS); pw.write ("username: admin; contraseña: administrador"); pw.flush (); // fresca el cacee de cache y salida a la información del servidor // cierra la transmisión de salida. Obtenga el flujo de entrada para leer la información de respuesta en el servidor InputStream es = Socket.getInputStream (); BufferedReader BR = new BufferedReader (new InputStreamReader (is)); String info = null; while ((info = br.readline ())! = Null) {System.out.println ("Soy el cliente y la información devuelta por el servidor es:"+Info);} Cierre el recurso br.close (); is.close (); pw.close (); os.close (); socket.close ();} capt (ioexception ex) {logger.getlogger (cliente.class.getName ()). Log (nivel.severe, null, ex);}}}Ejecute la clase del lado del servidor primero y luego ejecute la clase de cliente:
Resultado de salida de clase del lado del servidor:
== El servidor está a punto de comenzar, esperando que el cliente se conecte == Soy el servidor, la información enviada por el cliente es: UserName: Admin; Contraseña: administrador
El resultado de salida de la clase de cliente:
Soy el cliente, y la información devuelta por el servidor es: ¡Bienvenido!
Resumir
Lo anterior es todo el contenido de este artículo sobre el código de instancia del cliente de respuesta del servidor de programación Java Socket, espero que sea útil para todos. Los amigos interesados pueden continuar referiéndose a este sitio:
El socket de programación de Java implementa varios clientes para conectarse al mismo código del servidor
Código de muestra para implementar la comunicación de socket en la programación multithreaded Java
Si hay alguna deficiencia, deje un mensaje para señalarlo. ¡Gracias amigos por su apoyo para este sitio!