13/10/2011, 20:56
|
| | Fecha de Ingreso: octubre-2011
Mensajes: 7
Antigüedad: 13 años, 2 meses Puntos: 0 | |
Respuesta: Envió de información desde un telefono movil a una Base de datos Cita:
Iniciado por so1rak Amigo necesitas hacer una conexion mediante sockets
te dejo parte de mis codigos para que te guies, yo no lo he terminado aun por que no me sale del todo y ayuda en internet no encontre Código PHP: package soquete.de.java;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author So1rak
*/
public class Main {
String cte_id, nip, imei, nip_new;
public static void main(String[] args) {
// TODO code application logic here
Clases haduken = new Clases();
try {
haduken.haduken();
} catch (SQLException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
Código PHP: package soquete.de.java;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
*
* @author Arnulfo
*/
public class Clases {
String cte_id, nip, imei, nip_new, saldito, cambiar_nip, Fuego, Fuego2;
private java.sql.Connection con = null;
private final String url = "jdbc:sqlserver://";
private final String serverName = "192.168.99.55";
private final String portNumber = "1433";
private final String databaseName = "mobiltaim";
private final String userName = "sa";
private final String password = "sa";
// Indica al controlador que debe utilizar un cursor de servidor, // lo que permite más de una instrucción activa // en una conexión.
private final String selectMethod = "cursor";
// Constructor public Connect(){}
public String getConnectionUrl() {
return url + serverName + ":" + portNumber + ";databaseName=" + databaseName + ";selectMethod=" + selectMethod + ";";
}
public java.sql.Connection getConnection() {
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = java.sql.DriverManager.getConnection(getConnectionUrl(), userName, password);
System.out.println("");
if (con != null) {
System.out.println("Conexion correcta.");
}
} catch (Exception e) {
e.printStackTrace();
System.out.println("Error de seguimiento en getConnection() : " + e.getMessage());
}
return con;
}
public void compararUsarioyContraseñaParaPoderEntrarAlSistemaMovilDeAndroidParaCargarSaldo() {
try {
} catch (Exception e) {
System.out.println("OH!! Error: " + e);
}
}
/* Mostrar las propiedades del controlador y los detalles de la base de datos */
public void displayDbProperties() {
java.sql.DatabaseMetaData dm = null;
java.sql.ResultSet rs = null;
try {
con = this.getConnection();
if (con != null) {
dm = con.getMetaData();
System.out.println("Informacion del controlador");
System.out.println("\tNombre del controlador: " + dm.getDriverName());
System.out.println("\tVersion del controlador: " + dm.getDriverVersion());
System.out.println("\nInformacion de la base de datos ");
System.out.println("\tNombre de la base de datos: " + dm.getDatabaseProductName());
System.out.println("\tVersion de la base de datos: " + dm.getDatabaseProductVersion());
System.out.println("\n Catalogos disponibles ");
rs = dm.getCatalogs();
while (rs.next()) {
System.out.println("\tcatalogo: " + rs.getString(1));
}
PreparedStatement consultar = con.prepareStatement("select * from acceso where idLogin = 1");
ResultSet resultado = consultar.executeQuery();
while (resultado.next()) {
cte_id = resultado.getString("cte_id").toString();
nip = resultado.getString("nip").toString();
imei = resultado.getString("imei").toString();
}
PreparedStatement saldo = con.prepareStatement("select re.saldo_disponible from recarga re join Acceso ac on ac.idLogin = re.id_recarga where ac.idLogin = 1");
ResultSet saldodisponible = saldo.executeQuery();
while (saldodisponible.next()) {
saldito = saldodisponible.getString("saldo_disponible");
}
rs.close();
rs = null;
closeConnection();
} else {
System.out.println("Error: No hay ninguna conexion activa");
}
} catch (Exception e) {
e.printStackTrace();
}
dm = null;
}
private void closeConnection() {
try {
if (con != null) {
con.close();
}
con = null;
} catch (Exception e) {
e.printStackTrace();
}
}
public void haduken() throws SQLException {
ServerSocket serverSocket = null;
try {
serverSocket = new ServerSocket(4445);
Socket clientSocket = null;
displayDbProperties();
try {
while (true) {
clientSocket = serverSocket.accept();
PrintWriter out = new PrintWriter(
clientSocket.getOutputStream(), true);
BufferedReader in = new BufferedReader(
new InputStreamReader(
clientSocket.getInputStream()));
out.write("haduken de fuego");
out.flush();
String f = in.readLine();
x:
if ("menu".equals(f)) {
out.write("haciendo login \n");
out.flush();
String ivan = in.readLine();
String ivanA = ivan.substring(0, 2);
String ivanCTE = ivan.substring(2, 7);
String ivanNIP = ivan.substring(7, 12);
String ivanIMEI = ivan.substring(12);
String a = cte_id;
String b = nip;
String c = imei;
if ("20".equals(ivanA)) {
out.write("Accion 20 entro \n");
out.flush();
if (a.equals(ivanCTE)) {
out.write("Accion cliente entro \n");
out.flush();
if (b.equals(ivanNIP)) {
out.write("Accion nip entro \n");
out.flush();
if (c.equals(ivanIMEI)) {
out.write("Login correcto mil \n");
out.flush();
out.write("Siguiente Accion \n");
out.flush();
}
}
} else {
out.write("ETX18ETX");
break;
}
}
} catch (IOException e) {
System.out.println("Conexion fallida: 4445");
System.exit(-1);
}
} catch (IOException e) {
System.out.println("No se pudo escuchar el puerto: 4445");
System.exit(-1);
}
}
}
y esto va en el android Código PHP: try {
Socket sock = new Socket("10.0.2.2", 4445);
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Gracias... me has guiado bastante te agradezco. Entonces investigare mas sobre sockets. Si encuentro algo interesante, te aviso. |