packageud3.examples.create;importjava.io.*;importjava.net.ConnectException;importjava.net.Socket;publicclassCreateClient{publicstaticvoidmain(String[]args){try{System.out.println("Creant el Socket client.");Socketsocket=newSocket("localhost",1234);BufferedReaderin=newBufferedReader(newInputStreamReader(socket.getInputStream()));// Es pot utilitzar l'opció autoflushPrintWriterout=newPrintWriter(socket.getOutputStream());Stringmissatge="Aquest missatge ha segut enviat des del client.";out.println(missatge);out.flush();System.out.println("S'ha enviat el missatge.");System.out.println("Esperant resposta");Stringresposta=in.readLine();System.out.println("Resposta del servidor:");System.out.println(resposta);System.out.println("Tancant el socket...");socket.close();System.out.println("Tancat");}catch(ConnectExceptione){System.err.println("Connection refused!");}catch(IOExceptione){thrownewRuntimeException(e);}}}
En aquest codi es crea un Socket que es connecta a un servidor, identificat per l'adreça IP
host i el port. Una vegada connectat, es creen els objectes següents:
BufferedReader in: per llegir les dades del InputStream del Socket.
PrintWriter out: per escriure i enviar dades al OutputStream del Socket. És
important utilitzar l'opció autoFlush en el constructor, perquè així es realitza flush()
automàticament després de cada print(). El mètode flush() força l'enviament de dades pel
canal.
Després, el client envia un missatge al servidor, espera la resposta i, finalment, tanca la
connexió.
packageud3.examples.create;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;importjava.io.PrintWriter;importjava.net.ConnectException;importjava.net.ServerSocket;importjava.net.Socket;publicclassCreateServer{publicstaticvoidmain(String[]args){try{intport=1234;System.out.println("Creant el Socket servidor en el port: "+port);ServerSocketserver=newServerSocket(port);System.out.println("Esperant connexions...");Socketconnexio=server.accept();System.out.println("Connectat amb el client!");BufferedReaderin=newBufferedReader(newInputStreamReader(connexio.getInputStream()));PrintWriterout=newPrintWriter(connexio.getOutputStream());System.out.println("Esperant missatge des del client...");Stringmissatge=in.readLine();System.out.println("Sha rebut el missatge:");System.out.println(missatge);System.out.println("S'ha enviat el missatge: \"Rebut!\"");out.println("Rebut!");out.flush();System.out.println("Tancant el servidor...");connexio.close();server.close();System.out.println("Tancat.");}catch(ConnectExceptione){System.err.println("Connection refused!");}catch(IOExceptione){thrownewRuntimeException(e);}}}
Aquest codi crea un servidor mitjançant ServerSocket, que escolta el port 1234. Després,
espera que algun client es connecte i accepta la connexió. Aquesta connexió crea un Socket que
permet comunicar-se amb el client de la mateixa manera que ell es comunica amb el servidor.
📌 Aquest document pot quedar desactualitzat després d’imprimir-lo. Pots consultar la versió més recent
a la pàgina web.
🌿 Abans d’imprimir aquest document, considera si és realment necessari. Redueix el consum de paper i ajuda a protegir el nostre entorn.