Esta seria la clase que recibe el mensaje enviado por un cliente
Código PHP:
/**
* Write a description of class MensajeSockets here.
*
* @author (your name)
* @version (a version number or a date)
*/
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
import java.util.*;
public class ServidorCurp
{
private JTextField areaEmisor,areaNombre;
private JTextArea observaciones;
static final int PUERTO=5000;
private static ServerSocket skServidor;
private static Socket skCliente;
private static InputStream aux;
private static DataInputStream flujo;
private static String s;
private static String[] datos;
Vector renglones,fila,columnas;
VistaServidor gui;
JTable table;
JButton salir;
/**
* Constructor for objects of class MensajeSockets
*/
public ServidorCurp(JButton salir,VistaServidor gui,Vector fila,Vector renglones,Vector columnas)
{
this.observaciones=observaciones;
this. areaEmisor= areaEmisor;
this.areaNombre=areaNombre;
this.gui=gui;
this.fila=fila;
this.renglones=renglones;
this.columnas=columnas;
this.salir=salir;
datos=new String[7];
salir.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
});
conectaSocket();
}
public void conectaSocket()
{
try
{
skServidor = new ServerSocket( PUERTO );
try
{
skCliente = skServidor.accept();
aux = skCliente.getInputStream();
flujo = new DataInputStream( aux );
while(true)
{
try
{
s=flujo.readUTF();
separaDatos();
}
catch(IOException e)
{
try
{
skCliente.close();
flujo.close();
}
catch(IOException es)
{
}
}
}
}
catch( Exception e )
{
System.out.println( "conexion cerrada por el server al escribir"+e.getMessage() );
}
}
catch( Exception e )
{
System.out.println( "conexion cerrada por el server "+e.getMessage() );
}
}
public void separaDatos ( )
{
datos = s.split(",");
for(int k=0;k<datos.length;k++)
{
fila.addElement(datos[k]);
}
System.out.println(datos[6]);
renglones.addElement(fila);
table=new JTable(renglones,columnas);
}
}
Y esta clase proporciona la interfaz a la clase de arriba
Código PHP:
/**
* @(#)VistaServidor.java
*Clase que provee la interfaz del servidor para la clase de sockets
* @author Salinas Ruiz Jose luis
* @version 1.00 2012/05/22
*/
import java.awt.*;
import javax.swing.*;
import java.util.*;
public class VistaServidor {
private JFrame frame;
private JPanel panel;
private JButton salir;
Vector columnas,renglones,fila;
JTable table;
JScrollPane scroll;
ServidorCurp manejaEventos;
/**
* Constructor.
*/
VistaServidor()
{
frame=new JFrame("Servidor");
panel=new JPanel();
salir=new JButton("Salir");
columnas = new Vector();
renglones = new Vector();
fila=new Vector();
String [] arre={"Apellido Paterno","Apellido Materno","Nombre","Sexo","Ciudad","Fecha de Nacimiento","CURP"};
for(int i=0;i<arre.length;i++)
columnas.addElement(arre[i]);
table=new JTable(renglones,columnas);
scroll =new JScrollPane(table);
panel.add(salir);
distribuye(305,200,90,30,salir);
panel.setLayout(null);
/**Establece el tamaño del frame setSize (ancho,alto)*/
frame.setSize(790, 310);
/**centra la pantalla*/
frame.add(panel);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
frame.setResizable(false);
frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
panel.add(scroll);
distribuye(10,10,690,80,scroll);
manejaEventos=new ServidorCurp(salir,this,fila,renglones,columnas);
//salir.addActionListener(manejaEventos);
}
public void distribuye(int x, int y,int ancho, int alto,Component componente )
{
componente.setBounds(x,y,ancho,alto);
}
public static void main(String[] args) {
new VistaServidor();
}
}