Pessoal tenho a classe abaixoq ue representa meu servidor que irá receber conexões de clientes. Minha dúvida é como eu faço um método no cliente que conecta no servidor ? E depois eu possa trabalhar com essa conexão enviando mensagens ?
########################################
Server
########################################
import java.io.;
import java.net.;
import java.awt.;
import java.awt.event.;
import javax.swing.;
import java.util.;
import java.sql.*;
public class Server extends JFrame {
private JTextArea display;
//private static Hashtable listaIp;
private DatagramPacket sendPacket, receivePacket;
private DatagramSocket socket;
private int aux = 1;
private static Hashtable listaIps;
static {
listaIps = new Hashtable();
}
public Server()
{
super( “Servidor” );
display = new JTextArea();
getContentPane().add( new JScrollPane( display),
BorderLayout.CENTER );
setSize( 400, 300 );
show();
try {
socket = new DatagramSocket( 5000 );
}
catch( SocketException se ) {
se.printStackTrace();
System.exit( 1 );
}
}
/**
* Adiciona na hashtable o nome e o ip do usuário que conectar
* @param nome String
* @param ip String
*/
public void addUsuario(String nome, String ip)
{
listaIps.put(nome, new String(ip));
}
public void waitForPackets()
{
while ( true ) {
try {
// Seta o pacote
byte data[] = new byte[ 100 ];
receivePacket = new DatagramPacket( data, data.length );
// Espera por um pacote
socket.receive( receivePacket );
// Processa os pacotes
display.append( "\nPacote recebido:" +
"\nDo host: " + receivePacket.getAddress() +
"\nHost port: " + receivePacket.getPort() +
"\nCaracteres: " + receivePacket.getLength() +
"\nTexto:\n\t" +
new String( receivePacket.getData(), 0,
receivePacket.getLength() ) );
// manda de volta para os clientes
display.append( "\n\nMandando para os clientes...");
sendPacket =
new DatagramPacket( receivePacket.getData(),
receivePacket.getLength(),
receivePacket.getAddress(),
receivePacket.getPort() );
socket.send( sendPacket );
display.append( "Pacote enviado.\n" );
display.setCaretPosition(
display.getText().length() );
}
catch( IOException io ) {
display.append( io.toString() + "\n" );
io.printStackTrace();
}
}
}
public static void main( String args[] )
{
Server app = new Server();
app.addWindowListener(
new WindowAdapter() {
public void windowClosing( WindowEvent e )
{
System.exit( 0 );
}
}
);
app.waitForPackets();
}
public void desconectar()
{
}
}