chattservrarna traditionellt tillåter två eller flera användare att kommunicera en - mot-en med text meddelanden på sina datorer . I huvudsak , lyssnar en chatt -server för inkommande meddelanden och skickar utgående meddelanden . I Java , kan du skapa en Chat Server klass som tar användaren definierade in-och utgående redan tilldelats seriella sport , lyssnar efter inkommande meddelanden från en annan dator och skickar utgående meddelanden som skapats av användaren . Saker du behöver Review, Java Development Kit ( JDK )
Visa fler instruktioner
1
upprätta grundläggande chattprogram och definitioner funktion :
import java . net *; . import java.io. * , import java.awt *; .
public class ChatClient utökar Frame implementerar Runnable {public ChatClient ( String titel , InputStream jag , OutputStream o) { } public void run ( ) { } public void SendMessage ( String msg ) { } }
2
Konfigurera grundläggande klient och gänga lyssnare som klasskonstruktorn . Denna konstruktorn tar en ingång ( variabeln " i " ) och utgång ( variabeln " o " ) , omvandlar dem till buffrade dataströmmar och startar en lyssnande tråd att vänta på meddelanden :
//ChatClient klass variablesprotected DataInputStream i; skyddat DataOutputStream O , skyddad Thread lyssnaren ,
offentliga ChatClient ( InputStream I , OutputStream o) { this.I = ny DataInputStream ( ny BufferedInputStream ( i) ) this.o = ny DataOutputStream ( ny BufferedOutputStream ( o ) ) , lyssnaren = new Thread ( this); listener.start ( ) ; } Addera 3
Definiera " run "-metoden , som körs när lyssnaren tråden börjar . Denna metod kontrollerar strömmen indata , bifogar några inkommande data till den " emot " string och slutar när anslutningen stängs .
Public void run ( ) {
String mottog = new String ( ) ;
try { while ( true ) { String inkommande = i.readUTF ( ) ; fick + = ( line + " \\ n " ) ;} } catch ( IOException e ) { e.printStackTrace ( ) ; } }
4
Definiera en " SendMessage " -funktion , vilket kommer att skicka data över utgående anslutning i form av en sträng :
public void SendMessage ( String msg ) { o.writeUTF ( msg ) ; o.flush ( ) ;} catch ( IOException ex ) { ex.printStackTrace ( ) ; listener.stop ( ) ;} } Addera