0% encontró este documento útil (0 votos)
1 vistas

javaServidor

El documento presenta un programa en Java que implementa un servidor básico utilizando sockets. El servidor escucha conexiones en el puerto 1234 y maneja múltiples clientes a través de hilos, permitiendo operaciones como calcular el 10% de un número o contar caracteres en una cadena. Se incluye una clase auxiliar para extraer parámetros de las solicitudes de los clientes.

Cargado por

richardrvfge
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
1 vistas

javaServidor

El documento presenta un programa en Java que implementa un servidor básico utilizando sockets. El servidor escucha conexiones en el puerto 1234 y maneja múltiples clientes a través de hilos, permitiendo operaciones como calcular el 10% de un número o contar caracteres en una cadena. Se incluye una clase auxiliar para extraer parámetros de las solicitudes de los clientes.

Cargado por

richardrvfge
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 8

// Servidor.

java

// Autor: FELIPE LUNA GARCIA

/*
====================================================================
=========================================

| |

| Este programa muestra una estructura básica del Servidor


|

| |

| |

====================================================================
=========================================

*/

import java.lang.System;

import java.net.ServerSocket;

import java.net.Socket;

import java.io.*;

import java.util.*;
class ServidorHilo extends Thread {

Socket client = null;

PrintWriter writer = null;

String outLine = null;

String inLine = null;

ServidorHilo(Socket socket) {

super("ServidorHilo");

this.client = socket;

public void run() {

try {

String destName = client.getInetAddress().getHostName();

int destPort = client.getPort();

System.out.println("Aceptando conexion a "+destName+" en puerto "+


destPort+".");

BueredReader inStream = new BueredReader(new


InputStreamReader(client.getInputStream()));
writer = new PrintWriter(client.getOutputStream());

boolean nished = alse;

//se denen todos los atributos que resulten necesarios en los servicios a
proporcionar

int numero=0;

double porcentaje=0;

String cadena="";

do {

//Se lee el mensaje enviado por el cliente

inLine = inStream.readLine();

String opcode = new Obtenparam("OPCODE=",inLine).getParametro();

i (opcode.equals("1")) { //Obtener el 10% de la cantidad numérica

//se procede a obtener los datos también enviados para usarse en el servicio

numero = Integer.parseInt(new
Obtenparam("NUMERO=",inLine).getParametro());
//se procede a eectuar el procesamiento solicitado. Por ejemplo, suponiendo
que se ha solicitado eectuar el

porcentaje=numero*0.1;

//se envía la respuesta

outLine ="PORCENTAJE="+Double.toString(porcentaje)+";";

writer.println(outLine);

writer.fush();

} else i (opcode.equals("2")) { //Obtener número de caracteres de la cadena

cadena = new Obtenparam("CADENA=",inLine).getParametro();

outLine = "NUMCARACTERES="+cadena.length()+";";

writer.println(outLine);

writer.fush();

} else { //cualquier otra operación

} // n de servicios
} while(!nished); // n del do

} catch (IOException e) {

e.printStackTrace();

} // n de procedimiento run

//aquí ha terminado la clase hilo

//aquí inicia la clase principal y que es la del servidor padre o servidor principal

public class Servidor {

public static void main(String args[]){

boolean listening = true;

try{

ServerSocket server = new ServerSocket(1234);


int localPort = server.getLocalPort();

System.out.println("Servidor escuchando en puerto: "+localPort+".");

while (listening) {

Socket client = server.accept();

new ServidorHilo(client).start();

server.close();

}catch (IOException ex){

System.out.println("excepcion: IOException .");

}
class Obtenparam {

String valorParam;

public Obtenparam (String ParExt, String CadExtDe)

int myStart;

int myStop;

valorParam="";

myStart = CadExtDe.indexO(ParExt, 0);

i (myStart >= 0)

myStop = CadExtDe.indexO(';',myStart);

i (myStop >= 0)

myStart = myStart + ParExt.length();

valorParam = CadExtDe.substring(myStart, myStop);

public String getParametro(){


return valorParam;

También podría gustarte