As informações do cliente são lidas pelo fluxo de entrada e, correspondentemente, são implementadas através do fluxo de saída.
Código da classe do servidor:
importar java.io.bufferedReader; importar java.io.ioException; importar java.io.inputStream; importar java.io.inputStreamReader; importar java.io.outputStream; import java.io.printwriter; import java.net.aGerGerTUTET; java.util.logging.logger;/** * * @author whn6325689 */public class Server {// server-side public static void main (string [] args) {try {// 1. Crie um soquete do lado do servidor, ou seja, ServerSocket, especifique a porta ligada e ouça esta porta. Serversocket ServerSocket = new ServerSocket (8888); // 2. Chamada Método Acep () do ServerSocket's Accept () Aguarde o cliente para conectar o System.out.println ("== O servidor está prestes a começar, esperando o cliente conectar =="); soquete soquete = serversocket.accept (); // 3. Obtenha o fluxo de entrada para ler as informações de login enviadas pelo cliente inputStream is = socket.getInputStream (); // bytes fluxo de entrada inputStreamReader isr = new inputStreamReader (IS); // converte o stream byte em stream de caracteres // adicione bufferReader para stream de caracteres/bufferReader (ISR); while ((info = buffarredreader.readline ())! = null) {System.out.println ("Eu sou um servidor, e as informações enviadas pelo cliente são:"+info);} soket.shutdownInput (); // 4. Obtenha o fluxo de saída e responda à solicitação de saída do cliente OS = Socket.getOutputStream (); PrintWriter pw = new PrintWriter (OS); // Converta para imprimir o fluxo pw.write ("Welcome!"); Pw.flush (); // cache fresco // 5. Fechar recursos relacionados bufferreader.close (); is.close (); isr.close (); soket.close (); serversocket.close (); os.close (); pw.close ();} catch (ioexception ex) {logger.getLogger (server.class.getName ().Código da classe do cliente:
importar java.io.bufferedReader; importar java.io.ioexception; importar java.io.inputStream; importar java.io.inputStreamReader; importar java.io.outputStream; importar java.io.printwriter; importar java.net.socket; importação java.util.lElle.LOGGING.LAGGING; java.util.logging.logger;/** * * @author whn6325689 */public class Client {// Client public static void main (string [] args) {try {// 1. Crie um soquete do cliente, especifique o endereço do servidor e o número da porta. Soquete de soquete = novo soquete ("127.0.0.1", 8888); // 2. Obtenha o fluxo de saída para enviar informações para o servidor outputStream OS = Socket.getOutputStream (); // Stream de saída de bytes // Converta para imprimir o fluxo PrintWriter pw = new PrintWriter (OS); pw.WRITE ("Nome de UserSatut: Admin; senha: Admin); PW.Flush (); Obtenha o fluxo de entrada para ler as informações de resposta no servidor inputStream is = socket.getInputStream (); BufferReader Br = new BufferredReader (new InputStreamReader (is); string info = null; while (info = b.readline ())! Feche o recurso Br.Close (); Is.Close (); Pw.Close (); OS.Close (); Socket.Close ();} Catch (IoException Ex) {Logger.getLogger (client.class.getName ()).Execute a classe do lado do servidor primeiro e depois execute a classe Client:
Resultado da saída da classe do servidor:
== O servidor está prestes a começar, aguardando que o cliente se conecte == eu sou o servidor, as informações enviadas pelo cliente são: nome de usuário: admin; Senha: Admin
O resultado da saída da classe do cliente:
Eu sou o cliente e as informações retornadas pelo servidor são: Bem -vindo!
Resumir
O exposto acima é o conteúdo inteiro deste artigo sobre o código da instância do cliente do servidor de programação Java Socket, espero que seja útil para todos. Amigos interessados podem continuar se referindo a este site:
Soquete de programação Java implementa vários clientes para se conectar ao mesmo código do servidor
Código de amostra para implementar a comunicação de soquete em programação multithreaded Java
Se houver alguma falha, deixe uma mensagem para apontá -la. Obrigado amigos pelo seu apoio para este site!