Servidor

Páginas: 6 (1413 palabras) Publicado: 1 de diciembre de 2012
C:\Documentos\Utim\MATERIAS\DESARROLLO DE ...\Ejemplos Sockets\Servidor\Servidor\ServidorFrm.cs 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; // Agregamos las bibliotecas necesarias. using System.Net;using System.Net.Sockets; using System.IO; using System.Threading;

1

namespace Servidor { public partial class ServidorFrm : Form { /* * El programa servidor esta integrado por dos objetos * Servidor (clase TcpListener): Encargado de aceptar la conexiones del cliente. * Cliente (clase TcpClient): A travez del cual se realizara la comunicacion con el cliente conectado (objeto remoto) 23 *enviando y recibiendo datos a travez de la red 24 */ 25 26 //Crear el objeto Servidor 27 //Al inicializar el objeto, se debe asignar el puerto por el cual aceptara las conexiones 28 TcpListener Servidor = new TcpListener(8989); 29 //Crear la instancia del objeto Cliente 30 TcpClient Cliente; 31 //En este ejemplo, se utilizan dos hilos (SubProcesos) 32 Thread MonitorConexion; //Encargado de monitorearlas nuevas peticiones de conexion 33 Thread MonitorDatos; //Encargado de monitorear la llegada de nuevos datos 34 35 StreamReader strLeer; //Stream para leer el flujo de datos recibidos 36 37 //inicializar las variables auxiliares para guardar los estados de los objetos 38 bool EjecucionServidor = false, ClienteConectado = false; 39 40 public ServidorFrm() 41 { 42 InitializeComponent(); 43 } 44 45//Metodo que aceptara las peticiones nueva conexion 46 //Este metodo es asigano al Hilo MonitorConexion para que lo ejecute 47 //mientras el objeto servidor este activo 48 void AtenderConexiones() 49 { 50 while (EjecucionServidor == true) 51 { 52 //Si se solicita una conexion 53 //Se acepta la conexion guardandola en el objeto cliente 54 Cliente = Servidor.AcceptTcpClient(); 55 //El objeto clienteahora ya esta conectado 56 //ya se puede empezar a transferir y recibir datos 57 ClienteConectado = true; 58 } 59 } 60 61 //Metodo que recibira los datos del objeto remoto (CLiente) 62 //Este metodo es asigano al Hilo MonitorDatos para que lo ejecute 63 //mientras el objeto servidor este activo 64 //y el cliente este conectado 65 void LeerDatos() 66 { 67 while (EjecucionServidor == true) 68 { C:\Documentos\Utim\MATERIAS\DESARROLLO DE ...\Ejemplos Sockets\Servidor\Servidor\ServidorFrm.cs 69 70 71 72 73 74 75 76 77 linea) 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 archivo 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 } } catch { //si se produce un error por que el cliente se desconectoClienteConectado = false; //cliente desconectado Cliente.Client.Close(); //cerrar la conexion del SOCKET Cliente.Close(); // cerrar el objeto cliente strLeer.Close(); //cerrar el Stream Reader } } } } //Metodo para recibir un archivo void RecibirArchivo() { byte[] DatosRecibidos = new byte[1024 * 10]; // crear el buffer para recibir archivos de hasta 10 KB int LongBytesRecibidos =Cliente.Client.Receive(DatosRecibidos); //Recuperar la cantidad de Bytes recibidos string Datos = strLeer.ReadLine(); /* *Este ejemplo implementa el envio y recepcion de mensaje *el envio de archivos solo se hace del cliente al servidor * * la forma de recibir un mensaje y un archivo lo hace de manera distinta * por ello, se implemento el envio de un comando dentro del mensaje, de esta forma * el programa servidorsabra cuando esta recibiendo un mensaje y cuando esta recibiendo un archivo */ if (ClienteConectado) { try { //inicializar el StreamReader //el flujo de datos que leera, sera el flujo recibido a travez de la red //En el manejo de archivos, el flujo es la ruta del archivo strLeer = new StreamReader(Cliente.GetStream()); //Leemos el flujo por linea (cuando el cliente envia un mensaje, solo envia...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • servidores
  • Servidores
  • Servidores
  • Los servidores
  • Servidores
  • Servidores
  • Servidores
  • SERVIDOR

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS