Socket en.NET Grupo # 5
¿Qué es un Socket? Es la relación entre un puerto de un equipo y el puerto de otro equipo. ¿Qué es un puerto? Es el medio por el cual entrada ó sale información de la computadora. Nota: para que una conexión se lleve acabo es necesario tener una computadora que funcione como servidor y otra como cliente. ¿Qué es la clase Socket? Proporciona un extenso conjunto de métodos y propiedades para la comunicación en red. La clase socket permite realizar trasferencias de datos.
Métodos del Socket Accept : Crea un nuevo objeto Socket para una conexión recién establecida. BeginAccept: Sobrecargado. Comienza una operación para aceptar un intento de conexión entrante. BeginConnect: Sobrecargado. Comienza una solicitud para una conexión a host remoto. BeginDisconnect: Comienza una solicitud para la desconexión de un extremo remoto. BeginReceive: Sobrecargado. Comienza a recibir los datos de un objeto Socket conectado. BeginReceiveFrom: Comienza a recibir los datos de un dispositivo de red.
Close: Sobrecargado. Cierra la conexión Socket y librea todos los recursos asociados. Connect: Sobrecargado. Establece una conexión a un host remoto. DuplicateAndClose: Duplica la referencia del socket para el proceso de destino y cierra el socket para este proceso. EndConnect: Finaliza una solicitud de conexión pendiente. EndReceive: Sobrecargado. Finaliza una lectura pendiente. EndSend: Sobrecargado. Finaliza un envío pendiente. Listen: Coloca un objeto Socket e un estado de escucha. Receive: Sobrecargado. Recibe datos de un objeto Socket enlazado. Select: Determina el estado de uno o varios sockets.
Métodos protegidos Dispose: Librea los recursos no administrados que utiliza el objeto Socket y de forma opcional desecha los recursos administrados. Finalize: Reemplazado. Libera los recursos utilizados por la clase Socket. MemberwiseClone: Crear una copia superficial del objeto Object actual. Implemetaciones Explícitas de Interfaces System.IDisposableDispose: Libera Todos Los Recursos Utilizados por Socket.
Propiedades de un Socket AddressFamily: Obtiene la familia de direcciones de Socket. Available: Obtiene la cantidad de datos que se han recibido de la red y están disponibles para leer. Blocking: Obtiene o establece un valor que indica si Socket está en modo de bloqueo. Connected Obtiene un valor que indica si Socket se conecta con un host Remoto a partir de la última operación Send u Receive. DontFragment: Obteien o establece un valor de Boolean que especifica si Socket permite fragmentar los datragramas de protocolo internet (IP). EnableBroadcast: Obtiene o establece un valor Boolean que especifica si Socket puede enviar o recibir paquetes.
Handle: Obtiene el identificador del sistema operativo de Socket. LocalEndPoint: Obtiene el extremo local. ProtocolType: Obtiene el tipo de protocolo de Socket. SocketType: Obtiene el tipo de Socket. SupportsIPv4: Obtiene un valor que indica si la compatibilidad con IPv4 está disponible y habilita en el host actual. SupportsIPv6: Obtiene un valor que indica si el marco de trabajo admite IPv6 para ciertos miembros Dns obsoletos.
Propiedades, Métodos y Eventos necesarios para la conexión (Servidor) Propiedades: Ej. PuertoDeEscucha() as String Establece el puerto donde ser requiere que el servidor quede “escuchando”
Métodos: - Escuchar() Inicia el proceso de escuchar peticiones de conexión de parte de los clientes, en el puerto establecido en la propiedad PuertoDeEscucha. -ObtenerDatos(ByVal IDCliente as Net.IPEndPoint) as String Obtiene los últimos datos enviados por el cliente especificado. -Cerrar(ByVal IDCliente as Net.IPEndPoint) Cierra la conexión con el cliente especificado. -Cerrar() Cierra todas las conexiones abiertas con los cliente. -EnviarDatos(ByVal IDCliente as Net.IPEndPoint, ByVal Datos as String) Envía un mensaje a todos los cliente. -EnviarDatos(ByBal Datos as String) Envía un mensaje a todas los cliente.
Eventos: -NuevaConexion(ByVal IDTerminal as Net.IPEndPoint) Se produce cuando un Cliente se conecta al Servidor, devuelve un ID, para poder ser identificado cuando ser haga otra conexión. -DatosRecibidos(ByVal IDTerminal as Net.IPEndPoint) Se produce cuando un cliente envía un mensaje al servidor. -ConexionTerminada(ByVal IDTerminal as Net.IPEndPoint) Indica cuando ya se ha cerrado la conexión con el cliente.
Propiedades, Métodos y Eventos necesarios para la conexión (Cliente) Propiedades: -IPDelHost() As String Establece la dirección ip (o el nombre DNS) del equipo donde se encuentra el servidor. -PuertoDelHost() As String Establece el número de puerto en el que estará escuchando el servidor al cual se hará la conexión.
Métodos: -Conectar() Permite conectarse al servidor especificado en las propiedades IPDelHosto() y PuertoDelHost(). -EnviarDatos(ByVal Datos as String) Envía un mensaje al servidor especificado en las propiedades IPDelHosto() y PuertoDelHost().
Ejemplo:
Integrantes del Grupo # 5 Christian Gonzalo Díaz Rodríguez IN5AV Luis Pedro Garzaro Chinchilla IN5AV Nelson Omar Revolorio Cubur IN5AV Byron David Hernández Bran IN5AV Danilo Andrés Escolin Rodríguez IN5AV