Larback - Retornando conhecimento

Nunca confie em programadores que carregam chave de fenda.

Sockets em java

Segue um pequeno exemplo do uso de sockets. Uma aplicação cliente servidor para a troca de mensagens. Servidor
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;

import javax.swing.JFrame;
import javax.swing.JTextArea;

public class Servidor {
	   public static void main(String[] args) throws IOException {
		 JFrame jfJanela = new JFrame("Servidor");
		 JTextArea jtSaida = new JTextArea();
		 jfJanela.setSize(200,200);
		 jfJanela.add(jtSaida);
		 jfJanela.setVisible(true);
	     ServerSocket servidor = new ServerSocket(12345);
	     System.out.println("Porta 12345 aberta!");
	     jtSaida.setText("Porta aberta");
	     
	     Socket cliente = servidor.accept();
	     System.out.println("\nNova conexão com o cliente " +   
	       cliente.getInetAddress().getHostAddress());
	     jtSaida.setText(jtSaida.getText() + "\nNova conexão com o cliente " +   
	       cliente.getInetAddress().getHostAddress());
	     Scanner s = new Scanner(cliente.getInputStream());
	     while (s.hasNextLine()) {
	       //System.out.println(s.nextLine());
	       jtSaida.setText(jtSaida.getText() +"\n"+ s.nextLine());
	     }
	     s.close();
	     servidor.close();
	     cliente.close();
	   }
	 }
Cliente

import java.io.IOException;
import java.io.PrintStream;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;

public class Cliente {
	   public static void main(String[] args) 
	           throws UnknownHostException, IOException {
	     Socket cliente = new Socket("127.0.0.1", 12345);
	     System.out.println("O cliente se conectou ao servidor!");
	     
	     Scanner teclado = new Scanner(System.in);
	     PrintStream saida = new PrintStream(cliente.getOutputStream());
	     
	     while (teclado.hasNextLine()) {
	       saida.println(teclado.nextLine());
	     }
	     
	     saida.close();
	     teclado.close();
	     cliente.close();
	   }
	 }