Un buen método es hacer un servidor TCP Java y un Cliente TCP Android …
Cree un objeto ServerSocket en su código Java y haga que acepte una conexión para conectarse a un cliente.
ServerSocket sSoc = nuevo ServerSocket (8989); // El ServerSocket está configurado para escuchar en el puerto 8989
Socket soc = sSoc.accept (); // Para que el socket se conecte al cliente
Para conectarse al socket desde el cliente, cree un nuevo socket como el siguiente:
- Cómo averiguar cuál es mi dirección IP
- ¿Cómo se llama la dirección IP?
- Si todos los estudiantes en una red inalámbrica de la universidad tienen la misma dirección IP externa, ¿pueden las compañías como Google saber quién envió una búsqueda o solicitud?
- ¿Necesito una IP estática para alojar mi sitio web?
- Cómo obtener una nueva dirección IP
Socket soc = new Socket (ip, 8989); // la ip es la dirección IP del servidor, como cadena, por ejemplo, “127.0.0.1” o “localhost”
ahora, para escribir en cualquiera de los zócalos, puede hacer lo siguiente:
String toSend = “Vamos a enviar esta línea”;
byte [] buffer = toSend.getBytes (“UTF-8”); // Codificación en el sistema UTF-8
DataOutputStream dos = new DataOutputStream (soc.getOutputStream ()); // obtiene el flujo de salida
dos.write (buffer, 0, buffer.length); // escribe el buffer completo
dos.writeBytes (“\ n”); // Una nueva línea elegante
dos.flush (); // vaciar los datos
dos.close ();
soc.close ();
//////////////////////////////////////////////////////////////////////////
////////////// Para leer desde el socket del cliente o del servidor, haga esto: /////////////
//////////////////////////
DataInputStream dis = new DataInputStream (soc.getInputStream ()); / obtiene flujo de entrada
byte [] readBuffer = nuevo byte [5 * 1024]; // un búfer de 5 kb para leer datos
int read = dis.read (buffer); // almacena valores leídos en el buffer
if (read! = – 1) // if realmente leído
{
byte [] readData = nuevo byte [lectura]; // crea una matriz de bytes limpia de tamaño exacto
System.arraycopy (buffer, 0, readData, 0, read); // copiar hasta ‘leer’ el número de bytes
String readString = “”; // Crea una cadena en blanco para colocar datos
tratar{
r = nueva cadena (readData, “UTF-8”); // decodificar desde UTF-8
} catch (UnsupportedEncodingException e) {}
// HAGA ALGO CON LA CADENA “r” AQUÍ
}
Así es como puede crear un servidor y varios clientes, y transmitir datos … U podría querer hacer los códigos de conexión en un nuevo hilo ya que estas operaciones de bloqueo podrían congelar su IU.