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:
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. D'aquesta manera es realitzarà flush() automàticament després de cada print(). flush() força
l'enviament de dades pel canal.
Després envia un missatge al servidor i espera un resposta d'aquest.
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 a que algun client es connecte i accepta la connexió. Aquesta connexió
crea un Socket que ens permet comunicar-nos amb el client de la mateixa manera que ell amb
nosaltres.
📌 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.