conectar java con msql y enviar datos cliente-serv
Publicado por Alexander (1 intervención) el 06/10/2010 16:41:45
hola amigos tengo un invconveniente soy nuevo programando en java y tengo que hacer un cliente servidor el cliente tiene que leer una base de datos que esta en mysql esto lo hago con el msql conector y luego los datos leidos se los envio al servidor bueno esto es lo que tengo quisiera que me ayudaran tengo la idea pero no se como acomodarla
este es el cliente
import java.sql.*;
/**
* Clase de prueba de conexión con una base de datos MySQL
*/
public class EJEMPLOMYSQL {
/**
* Crea una instancia de la clase MySQL y realiza todo el código
* de conexión, consulta y muestra de resultados.
*/
public EJEMPLOMYSQL()
{
// Se mete todo en un try por los posibles errores de MySQL
try
{
// Se registra el Driver de MySQL
DriverManager.registerDriver(new org.gjt.mm.mysql.Driver());
// Se obtiene una conexión con la base de datos. Hay que
// cambiar el usuario "root" y la clave "la_clave" por las
// adecuadas a la base de datos que estemos usando.
Connection conexion = DriverManager.getConnection (
"jdbc:mysql://LOCALHOST/oscar","root", "");
// Se crea un Statement, para realizar la consulta
Statement s = conexion.createStatement();
// Se realiza la consulta. Los resultados se guardan en el
// ResultSet rs
ResultSet rs = s.executeQuery ("select * from persona");
// Se recorre el ResultSet, mostrando por pantalla los resultados.
while (rs.next())
//aqui es donde tengo el problema no se en que parte va la comunicacion
Socket canalComunicacion = null;
OutputStream bufferSalida;
DataOutputStream datos;
canalComunicacion = new Socket("127.0.0.1", 10831);
bufferSalida = canalComunicacion.getOutputStream();
datos = new DataOutputStream(bufferSalida);
String mensaje = rs;
datos.writeUTF(mensaje);
// Se cierra la conexión con la base de datos.
conexion.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
/*
* Método principal, instancia una clase PruebaMySQL
*/
public static void main(String[] args)
{
new EJEMPLOMYSQL();
}
}
y este el servidor
import java.io.*;
import java.net.*;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Servidor {
public static void main(String[] args) {
try {
ServerSocket puerto = null;
Socket canalComunicacion = null;
InputStream bufferEntrada;
DataInputStream datos;
puerto = new ServerSocket(10831);
canalComunicacion = puerto.accept();
bufferEntrada = canalComunicacion.getInputStream();
datos = new DataInputStream(bufferEntrada);
String cadena = new String(datos.readUTF());
while (cadena.length() > 0) {
System.out.print(cadena);
cadena = datos.readUTF();
}
datos.close();
bufferEntrada.close();
canalComunicacion.close();
} catch (IOException ex) {
Logger.getLogger(Servidor.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
este es el cliente
import java.sql.*;
/**
* Clase de prueba de conexión con una base de datos MySQL
*/
public class EJEMPLOMYSQL {
/**
* Crea una instancia de la clase MySQL y realiza todo el código
* de conexión, consulta y muestra de resultados.
*/
public EJEMPLOMYSQL()
{
// Se mete todo en un try por los posibles errores de MySQL
try
{
// Se registra el Driver de MySQL
DriverManager.registerDriver(new org.gjt.mm.mysql.Driver());
// Se obtiene una conexión con la base de datos. Hay que
// cambiar el usuario "root" y la clave "la_clave" por las
// adecuadas a la base de datos que estemos usando.
Connection conexion = DriverManager.getConnection (
"jdbc:mysql://LOCALHOST/oscar","root", "");
// Se crea un Statement, para realizar la consulta
Statement s = conexion.createStatement();
// Se realiza la consulta. Los resultados se guardan en el
// ResultSet rs
ResultSet rs = s.executeQuery ("select * from persona");
// Se recorre el ResultSet, mostrando por pantalla los resultados.
while (rs.next())
//aqui es donde tengo el problema no se en que parte va la comunicacion
Socket canalComunicacion = null;
OutputStream bufferSalida;
DataOutputStream datos;
canalComunicacion = new Socket("127.0.0.1", 10831);
bufferSalida = canalComunicacion.getOutputStream();
datos = new DataOutputStream(bufferSalida);
String mensaje = rs;
datos.writeUTF(mensaje);
// Se cierra la conexión con la base de datos.
conexion.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
/*
* Método principal, instancia una clase PruebaMySQL
*/
public static void main(String[] args)
{
new EJEMPLOMYSQL();
}
}
y este el servidor
import java.io.*;
import java.net.*;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Servidor {
public static void main(String[] args) {
try {
ServerSocket puerto = null;
Socket canalComunicacion = null;
InputStream bufferEntrada;
DataInputStream datos;
puerto = new ServerSocket(10831);
canalComunicacion = puerto.accept();
bufferEntrada = canalComunicacion.getInputStream();
datos = new DataInputStream(bufferEntrada);
String cadena = new String(datos.readUTF());
while (cadena.length() > 0) {
System.out.print(cadena);
cadena = datos.readUTF();
}
datos.close();
bufferEntrada.close();
canalComunicacion.close();
} catch (IOException ex) {
Logger.getLogger(Servidor.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
Valora esta pregunta


0