servidores de Chat tradicionalmente permitir que dois ou mais usuários para se comunicar one-on -one através de mensagens textuais em seus computadores . Essencialmente , um servidor de bate-papo escuta as mensagens de entrada e envia mensagens de saída. Em Java, você pode criar uma classe Chat Server que tem fluxos de entrada e de saída definidos pelo usuário já atribuídos ao esporte de série, escuta as mensagens recebidas a partir de outro computador e envia mensagens de saída criadas pelo usuário . Coisas que você precisa
Java Development Kit ( JDK)
Mostrar Mais instruções
1
Configure definições cliente e função de chat básicos :
importação java . net * ; . import java.io. *; import java.awt * ; .
classe
público ChatClient estende Quadro implementa Runnable { ChatClient pública ( título string, InputStream i, OutputStream o) {} public void run () {} sendMessage public static void (String msg) {}}
2
Configure cliente básico e ouvinte segmento como o construtor da classe. Este construtor tem uma entrada ( variável "i") e fluxo de saída (variável "o" ) , converte-os em buffer fluxos de dados e inicia um segmento de escuta que esperar por mensagens :
//class ChatClient variablesprotected DataInputStream i; protegido DataOutputStream o; protegido ouvinte Tópico ;
ChatClient público ( InputStream i, OutputStream o) { this.I = new DataInputStream (new BufferedInputStream (i)) this.o = new DataOutputStream ( novo BufferedOutputStream ( o)) ; ouvinte = new thread ( this); listener.start ();}
3
Defina o método "run", que é executado quando o thread de escuta começa. Este método verifica o fluxo de dados de entrada, acrescenta quaisquer dados de entrada para a string " recebido" e termina quando a conexão é fechada.
Public void run () {
Cordas recebeu = new String ( );
try { while ( true) {String entrada = i.readUTF (); recebeu + = ( linha + "\\ n" );} } catch (IOException e) { e.printStackTrace () ;}}
4
Definir uma função " sendMessage " , que irá enviar dados através da conexão de saída na forma de uma string:
sendMessage public void (String msg) { o.writeUTF (msg ); o.flush (); } catch (IOException ex) { ex.printStackTrace (); listener.stop ();} }