Protocolo Tcpip y programación de red
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 . ) ;
socket . close();
} captura (IOException e) {
e . .out.println("Error de conexión");
salir(-1);
}
}
}
Lado del servidor:
Importar Java.net.*;
Importar Java.io.*;
Clase pública TestSocketServer {
p>
Public static void main(String[] args) {
Pruebe {
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 = new data inputstream( socket . getinputstream());
Cadena s = null
if ((s = dis.readUTF())! = null) {
System.out.println("Fórmula recibida: "+s);
Resultado doble = 0;
cadena[]sarr 1 = s . split("[\ \+\ \-\ \ * \ \/]");
doble a = doble análisis (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;
Interrupción ;
Caso '-':
Resultado = a-b;
Pausa;
Caso '*':
p>
Resultado = a * b;
Pausa;
Caso "/":
Resultado = a/b;
Interrupción;
Valor predeterminado:
Interrupción;
}
dos.writeDouble(resultado);
dos .flush();
}
dis . >socket . close();
} captura (IOException e) {
e . /p >
}
}
}