Untitled

 avatar
unknown
plain_text
2 years ago
3.1 kB
5
Indexable
package cl.ufro.servidor;

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.concurrent.ThreadLocalRandom;

import javax.imageio.ImageIO;
import javax.mail.Address;
import javax.mail.internet.InternetAddress;

import cl.ufro.bd.Usuario;
import cl.ufro.service.UsuarioService;
import cl.ufro.solicitud.SolicitudIdentificacion;
import cl.ufro.solicitud.SolicitudPublicacion;
import cl.ufro.solicitud.SolicitudRegistro;
import cl.ufro.solicitud.SolicitudVerificacion;
import utils.Serializar;
import cl.ufro.service.CorreoService;
import cl.ufro.service.PublicacionService;

public class Servidor {
	final int PUERTO = 5000;
	public static void main(String[] args) {
		Servidor servidor = new Servidor();
		servidor.escucha();
	}
	
	public void escucha() {
		try {
			ServerSocket serverSocket = new ServerSocket(PUERTO);
			System.out.println("Servidor iniciado en el puerto " + PUERTO);
			while(true) {
				Socket socket = serverSocket.accept();
				System.out.println("Cliente conectado " +"("+(InetSocketAddress)socket.getRemoteSocketAddress()+")");
				ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
				Object objRecibido = ois.readObject();
				if (objRecibido instanceof SolicitudIdentificacion) {	
					SolicitudIdentificacion solicitud = (SolicitudIdentificacion)objRecibido;
					UsuarioService usuarioService = new UsuarioService();
					Usuario usuario = usuarioService.identificar(solicitud);
					ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());
					oos.writeObject(usuario);
				} else if (objRecibido instanceof SolicitudRegistro) {
					SolicitudRegistro solicitud = (SolicitudRegistro)objRecibido;
					Usuario usuario = new Usuario();			
					System.out.println("Imagen recibida: "+solicitud.imagen.nombre + " (" + solicitud.imagen.largo + " bytes)");
					UsuarioService usuarioService = new UsuarioService();
					usuario = usuarioService.registrar(solicitud);
					ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());
					oos.writeObject(usuario);
				} else if(objRecibido instanceof SolicitudVerificacion) {
					
					SolicitudVerificacion solicitud = (SolicitudVerificacion)objRecibido;
					UsuarioService service = new UsuarioService();
					Usuario usuario = service.verificarCorreo(solicitud);
					ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());
					oos.writeObject(usuario);
				} else if(objRecibido instanceof SolicitudPublicacion) {
					SolicitudPublicacion solicitud = (SolicitudPublicacion) objRecibido;
					PublicacionService service = new PublicacionService();
						if (solicitud.getIdCriterio() == 1) {
							service.crearBuscoPublicacion(solicitud);
						} else if(solicitud.getIdCriterio() == 2) {
							service.crearTengoPublicacion(solicitud);
						}
				}
			}
		} catch (Exception e) {e.printStackTrace();}
	}

}
Editor is loading...