packagecliente;importjava.io.IOException;importjava.io.PrintStream;importjava.net.Socket;publicclassCliente{publicstaticvoidmain(String[]args){// Declaro o socket clienteSocketsocket=null;// Declaro a Stream de saida de dadosPrintStreamstream=null;try{// Cria o socket com o recurso desejado na porta especificadasocket=newSocket("192.168.0.102",7000);// Cria a stream de saida de dadosstream=newPrintStream(socket.getOutputStream());// Imprime uma linha para a stream de saida de dadosstream.print(socket.getOutputStream());}catch(IOExceptione){System.out.println("Algum problema ocorreu ao criar ou enviar dados pelo socket Cliente");}finally{try{stream.close();// Erro aparece aquisocket.close();}catch(IOExceptione){}}}}
Classe Servidor
packageservidor;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;importjava.net.ServerSocket;importjava.net.Socket;publicclassServidor{publicstaticvoidmain(String[]args){// Declaro o server socketServerSocketserver=null;// Declaro o socket de comunicaçãoSocketsocket=null;// Declaro o leitor para entrada de dadosBufferedReaderentrada=null;try{// Cria o server socket na porta 7000 se estiver disponívelserver=newServerSocket(7000);// Aguarda uma conexão na porta especificada, cria e retorna o soquete que irá se comunicar com o clientesocket=server.accept();// Cria um BufferedReader para o canal da stream de entrada de dados do Socket socketentrada=newBufferedReader(newInputStreamReader(socket.getInputStream()));// Aguarda por algum dado e imprime na telaSystem.out.println(entrada.readLine());}catch(IOExceptione){// Imprime uma notificação caso haja algum erro System.out.println("Algum problema ocorreu para criar ou receber um socket Servidor");}finally{try{socket.close();// Erro aparece aquiserver.close();}catch(IOExceptione){e.printStackTrace();}}}}