Pérez Valencia Ubaldo -...

Post on 14-Mar-2020

4 views 0 download

Transcript of Pérez Valencia Ubaldo -...

Gines Hinojosa MarisolLópez López Marcela PamelaPérez Cruz Juan CarlosPérez Valencia Ubaldo

Lenguaje, desarrollado por Microsoft por un equipo dirigido por Andres Helsberj y Scott Wiltamuth, se diseño en específico para la

plataforma .Net como un lenguaje que permitiera a los programadores migrar con

facilidad hacia .Net. Tiene sus raíces en Java, C y C++; adapta las mejores características de

cada uno de estos lenguajes y agrega características propias.

C# está orientado a objetos y contiene una poderosa bibiloteca de clases (FCL por sus siglas

en Ingles; FrameWork Class Library), mejor conocida como Biblioteca de Clases de

Framework, que consta de componentes preconstruidos que permiten a los

programadores desarrollar aplicaciones con rapidez, además este lenguaje es apropiado para

desarrollar apliaciones de escritorio (Windows Forms), asi como Smart Clients, Aplicaciones Web (ASP .Net), Aplicaciones Móviles, entre

otras.

Interfaz normalizado de comunicación entre procesosutilizado inicialmente en la arquitectura TCP/IP.

Es el extremo de una conexión entre procesos deaplicación que se ejecutan en una red TCP/IP. Cadaextremo se direcciona mediante la dirección IP o nombreDNS de la maquina y un número de puerto (entre 1 y65535).Objetivo:Permitir que un proceso pueda enviar o recibir datos a través de la red.

Para indicar que queremos trabajar con sockets, tenemos queagregar la siguientes lineas en el Using:

using System.Net;

using System.Net.Sockets;

Asi le indicamos que trabajaramos con sockets.

Para conseguir la direccion del IP se usa el IPAddress

IPHostEntry ipHostInfo =

Dns.Resolve("host.contoso.com");

IPAddress ipAddress =

ipHostInfo.AddressList[0];

IPEndPoint Ep =

new IPEndPoint(direccion, puerto);

IPEndPoint Ep =

new IPEndPoint(direc, 12345);

IPHostEntry ipHostInfo =

Dns.Resolve(Dns.GetHostName());

IPAddress ipAddress =

ipHostInfo.AddressList[0];

IPEndPoint localEndPoint = new

IPEndPoint(ipAddress, 11000);

Crea un IPEndpoint para un servidor combinando la primera dirección IP devuelta por Dns para el equipo host con un número de puerto elegido entre el intervalo de números de puerto registrados.

Una vez determinado el extremo local, el Socket debeasociarse al extremo mediante el método Bind y sedebe establecer en escucha en el extremo mediante elmétodo Listen. Bind inicia una excepción si lacombinación específica de dirección y puerto ya seestá utilizando.

listener.Bind(localEndPoint);

listener.Listen(100);

Lo siguiente es crear el socket con lo obtenido hasta ahora. Lo llamaremos así:

Socket socket = new Socket

(AddressFamily.InterNetwork,

SocketType.Stream,

ProtocolType.Tcp);

INSTRUCCIONES DE ENVÍ O DE DATOS EN SERVIDOR

**Recibimos los datos enviados y lo guardamos en cout:count = handler.Receive(bytes);

**Codificamos a cadena (ya que se envían como bytes)data = System.Text.Encoding.ASCII.GetString(bytes, 0, count);

**Mientras lo recibido no sea exit , hacemos comparación final.if (data != "exit\n")

**Mientras lo recibido no sea exit + Intro se continua el bucle, si recibimos exit + intro, salimos del buclewhile (data != "exit\n");

**Codificamos de string a byte el siguiente mensaje para que se pueda enviar al NetCat (Cliente)

byte[] msg = System.Text.Encoding.ASCII.GetBytes("\n\nFinalizadaconexion con la aplicacion");

**Enviamos el mensaje al clientehandler.Send(msg);

**"Apagamos" los socketshandler.Shutdown(SocketShutdown.Both);

**Cerramos conexiónhandler.Close();

CONEXIÓN CON EL CLIENTE

**Conectamostry

{socket.Connect(Ep);

**Recibimos la respuesta en bloques de 255 bytesbytes=socket.Receive(RecvBytes,RecvBytes.Length,SocketFlags.None);

**Codificamos la respuestarespuesta = Encoding.ASCII.GetString(RecvBytes, 0, bytes);

**Si durante el procedimiento hay error salta aqui.catch (Exception error)

**Leer consolaConsole.Read();