Nella sua forma più semplice, un server di chat Java utilizza un oggetto ServerSocket ad ascoltare per una connessione . Il metodo di "accettare" forza il programma di aspettare fino a quando viene stabilita una connessione . Questo metodo restituisce un oggetto " Socket " che rappresenta la connessione accettata . Come illustrato nel codice seguente , ad esempio, il programma di chat sarà sempre ascoltare per una connessione in ingresso su una determinata porta e restituire la scatola di connessione :
import java.net.ServerSocket ; import java.net.Socket ; import java . io.BufferedReader ; importazione java.io.InputStreamReader ;
classe
Chat {
public static void main (String [] args ) { ServerSocket s = null; s = new ServerSocket ( 9999) , Socket s = server.accept (); } }
ricezione di messaggi
Una volta effettuata la connessione , il programmatore può leggere l'input dal socket . Questo ingresso , il messaggio da un altro chiacchiere , leggerà in un oggetto " BufferedInput ", che può quindi leggere le informazioni in una variabile String :
ingresso BufferedReader
= new BufferedReader ( new InputStreamReader ( s.getInputStream ( ) ) ) ; String message = input.readline ();
Memorizzazione messaggi
Quando la ricezione di messaggi da un computer remoto , può essere utile per memorizzare i loro in una matrice in modo che un messaggio multipla non è perso . In pratica , quello che il programmatore possa fare è memorizzare i messaggi in un array con un ciclo revolving "while" . Per ogni messaggio ricevuto , il loop memorizza un messaggio nella matrice e passare al successivo punto di indice , avvolgendo intorno al primo indice quando l'array è pieno :
String [ ] messaggio = new String [ 20 ] ; int index = 0; messaggio = input.readLine ();
mentre ( messaggio = null ) { messaggio [index ] = messaggio ; indice + + ; messaggio = input.readLine (); }
con Invio di un messaggio
Il programmatore può anche utilizzare oggetti socket per la connessione a un computer remoto in cui è in ascolto per le comunicazioni . Utilizzando la presa per collegare il programmatore può aprire un flusso di output per inviare un messaggio all'utente . Lei realizza questo utilizzando un oggetto PrintWriter , allegandolo al flusso di output del socket e la scrittura attraverso la presa :
Socket di connessione = new Socket ( "http : \\ \\ www.computer.domain " , 9999) ;
out = new PrintWriter ( connect.getOutputStream ( ) , true); out.print ( "Messaggio Invio ...");
Programmazione © www.354353.com