Red de conocimiento informático - Material del sitio web - Programación de sockets basada en el protocolo tcp

Programación de sockets basada en el protocolo tcp

Sí, si tienes alguna duda, por favor pregunta.

Cliente:

Importar Java .net *;

Importar Java io *; p>

Public static void main(String[] args) {

prueba {

Socket socket = new socket(" 127.0.0.1 ", 5566

System.out.println("Ingrese la fórmula:");

lector almacenado en búfer br = nuevo lector almacenado en búfer (nuevo InputStreamReader(system . in));

string s 1 = br . readline();

flujo de salida de datos dos = nuevo flujo de salida de datos(socket . get flujo de salida());

flujo de entrada de datos dis = nuevo flujo de entrada de datos ( socket . getinputstream());

dos .escribir utf(s 1);

dos .

doble s = dis . double ();

System.out.println("Resultado del cálculo: " s);

dis .

dos . ;

socket . close();

} captura (IOException e) {

e . out .println("Error de conexión");

system exit(-1);

}

}

}<. / p>

Lado del servidor:

Importar Java.net.*;

Importar Java.io.*;

Clase pública TestSocketServer {

Public static void main(String[] args) {

Prueba {

server socket ss = new server socket(5566);

socket socket = ss aceptar();

flujo de salida de datos dos = nuevo flujo de salida de datos(socket . get flujo de salida());

flujo de entrada de datos dis = nuevo flujo de entrada de datos( socket .getinputstream());

Cadena s = null

if ((s = dis.readUTF())! = null) {

System.out.println("La fórmula recibe: " s);

Resultado doble = 0;

cadena[]sarr 1 = s . split("[\ \ \ \-\ \ * \ \/]");

doble a =.

doble .parse doble(sarr 1[0]). trim());

doble b = doble . analizar doble(sarr 1[1]). trim());

String[] sarr2 = s.split("^(-?\\d )(\\.\\d )?");

char c = sarr2[1]. ciruela pasa(). charAt(0);

Interruptor (c) {

Caso " ":

Resultado = a b;

Descanso

p>

Caso '-':

Resultado = a-b;

Descanso

Caso '*':

Resultado; = a * b;

Pausa;

Caso "/":

Resultado = a/b; p>

Valor predeterminado:

Break;

}

dos.writeDouble(resultado);

dos .

}

cierre();

dos . /p>

} catch (IOException e) {

e . printstacktrace();

salir(-1); /p>

}

}