Me gustaría preguntar cómo construir un servidor en un teléfono móvil y cómo usar Socket.
Implementación del cliente del protocolo TCP:
//Cree un objeto Socket y especifique la dirección IP y el número de puerto del servidor.
socket socket = new socket(" 192.168.1.104 ", 4567);
//Utilice InputStream para leer archivos en el disco duro. Aquí, solo se utilizan archivos como fuente de información y se puede leer la información ingresada por el usuario controlador.
InputStreaminputStream=new
file inputstream(" f://file/words . txt ");
//Obtiene el OutputStream del socket.
flujo de salida flujo de salida = socket. obtener flujo de salida();
búfer de bytes[]= nuevo byte[4 * 1024]; p>//Obtiene datos de InputStream y escríbelos en OutputStream.
while((temp = inputstream . read(buffer))!=-1)
五
{
outputStream.write (búfer, 0, temperatura);}
outputStream.flush(). }
Implementación del protocolo TCP en el lado del servidor;
//Declarar el objeto ServerSocket.
ServerSocketserverSocket = null
Prueba {
//Crea un objeto ServerSocket y haz que este Socket escuche en el puerto 4567.
server socket = newServerSocket(4567);
// Llame al método aceptar () de ServerSocket para aceptar la solicitud enviada por el cliente.
//Si el cliente no envía datos, el hilo está bloqueado.
socket socket = socket del servidor. Accept();
//Obtiene el objeto InputStream del socket.
InputStreaminputStream = socket . getinputstream();
búfer de bytes[]= nuevo byte[1024 * 4]
int temp = 0; >
//Lee los datos enviados por el cliente desde InputStream.
while((temp = inputstream . read(buffer))!=-1)
{
system out . 0, temp));}
}
catch(IOExceptione)
{
e . p>
socket del servidor . close();
}
Modo UDP
El código del cliente UDP se implementa de la siguiente manera:
Public static void main(String[]args)
{
Pruebe {
//Primero cree un objeto DatagramSocket.
socket de datagrama socket = nuevo socket de datagrama(4567);
//Crear un InetAddree.
Seis
dirección del servidor de inet = dirección de inet . get byname(" 192.168.1.104 ");
String str = " hola
//Estos son los datos a transmitir.
byte data[]= str .getbytes();
//Descompone el contenido de la transmisión en bytes
<. p>//Cree un objeto DatagramPacket y especifique a qué dirección y número de puerto en la red se debe enviar este paquete.Paquete DatagramPacket=nuevo
DatagramPacket(datos, longitud de datos, dirección del servidor, 4567);
//Llame al método de envío del objeto socket para enviar datos
socket.send(paquete de datos);}
Catch (Exception)
{
e.printstacktrace();}
}
UDP El código del servidor se implementa de la siguiente manera:
//Cree un objeto DatagramSocket y especifique el número de puerto de escucha.
datagram socket socket = new datagram socket(4567);
byte data[]. = nuevo byte[1024];
//Crea un objeto DatagramPacket vacío
paquete de datagrama = nuevo paquete de datagrama(datos, datos. longitud);
//Utilice el método de recepción para recibir los datos enviados por el cliente
//Si el cliente no envía datos, el proceso termina aquí
socket.receive(paquete de datos). );
resultado de cadena = newString(paquete . obtener datos(), paquete.getOffset(),
paquete . getlength(); .println("resultado->+resultado);