You are on page 1of 4

Socket (AddressFamily, Inicializa una instancia nueva de la clase socket SocketType, ProtocolType) con la familia de direcciones, el tipo de socket

y el protocolo que se especifiquen. Compatible con .NET Compact Framework. Sincrónico

La clase Socket proporciona un extenso conjunto de métodos y propiedades para las comunicaciones en red. La clase Socket permite realizar transferencias de datos sincrónicas y asincrónicas mediante cualquiera de los protocolos de comunicación incluidos en la enumeración ProtocolType. La clase Socket sigue el modelo de nomenclatura de .NET Framework para los métodos asincrónicos; por ejemplo, el método sincrónico Receive se corresponde con los métodos asincrónicos BeginReceive y EndReceive. Si la aplicación sólo requiere un subproceso durante su ejecución, utilice los métodos siguientes, diseñados para el modo de funcionamiento sincrónico. Si utiliza un protocolo basado en conexiones como TCP, el servidor podrá escuchar las conexiones mediante el método Listen. El método Accept procesa las solicitudes de conexión entrantes y devuelve un Socket que puede usar para intercambiar datos con el host remoto. Use este valor devuelto de Socket para llamar al método Send o Receive. Llame al método Bind antes de llamar al método Listen si desea especificar la dirección IP local y el número de puerto. Utilice cero como número de puerto si lo que desea es que el proveedor de servicios subyacente le asigne un puerto libre. Para conectar con un host de escucha, llame al método Connect. Para comunicar datos, llame al método Send o Receive.

Si utiliza un protocolo sin conexión como UDP, no es necesario escuchar las conexiones. Llame al método ReceiveFrompara aceptar los datagramas entrantes. Utilice el método SendTo para enviar datagramas a un host remoto.

Con el fin de procesar las comunicaciones mediante diferentes subprocesos durante la ejecución, utilice los métodos siguientes, diseñados para el modo de funcionamiento asincrónico. Si utiliza un protocolo orientado a conexiones como TCP, use los métodos Socket, BeginConnect y EndConnect para conectar con un puerto de escucha. Use los métodos BeginSend y EndSend o BeginReceive y EndReceive para comunicar datos asincrónicamente. Las solicitudes de conexión entrantes pueden procesarse mediante BeginAccept y EndAccept.

En protocolos sin conexión, como UDP, se puede utilizar BeginSendTo y EndSendTo para enviar datagramas y BeginReceiveFrom y EndReceiveFrom para recibirlos.

SocketType Especifica los protocolos que admite la clase Socket. Para que Socket pueda enviar y recibir datos. Cuando termine de enviar y recibir datos. Obtiene el extremo local. El método GetSocketOption permite recuperar esta configuración. use el método Shutdown para deshabilitar Socket. puede plantearse utilizar TcpClient. . primero debe crearse con AddressFamily. La clase Socket permite configurar Socket mediante el método SetSocketOption. Después de llamar a Shutdown. Nota Si está escribiendo una aplicación relativamente sencilla y no necesita un rendimiento máximo. Asocia un objeto Socket a un extremo local. SocketType y ProtocolType. Descripción Obtiene la familia de direcciones de Socket. llame al método Close para liberar todos los recursos asociados al Socket. Obtiene el tipo de Socket. Esta propiedad es de sólo lectura y se establece cuando se crea Socket. TcpListener y UdpClient. Propiedades públicas Nombre AddressFamily LocalEndPoint ProtocolType RemoteEndPoint SocketType Métodos públicos Nombre Accept Bind Descripción Crea un nuevo objeto Socket para una conexión recién establecida. La enumeración SocketType proporciona varias opciones para definir el tipo de Socket que se desea abrir. Estas clases proporcionan una interfaz más sencilla y fácil de usar para las comunicaciones con Socket.Si realiza varias operaciones asincrónicas en un socket. no tienen que completarse necesariamente en el orden en que se inician. Obtiene el extremo remoto. AddressFamily especifica el esquema de direcciones que puede utilizar una instancia de la clase Socket. Obtiene el tipo de protocolo de Socket.

Envía datos a un objeto Socket conectado. Si opta por esto último. enviar y recibir secuencias de datos a través de una red en modo de bloqueo sincrónico. use el método GetStream con el fin de obtener una NetworkStream.Close Connect Listen Receive Send Sobrecargado. Notas para los herederos Para enviar y recibir datos. La clase TcpListener proporciona métodos sencillos para escuchar y aceptar solicitudes de conexión entrantes en modo de bloqueo sincrónico. utilice primero el método Pending para determinar si hay solicitudes de conexión disponibles en la cola. Llame al método Stop para cerrar TcpListener. Utilice el método Start para comenzar la escucha de solicitudes de conexión entrantes. Sobrecargado. Para que TcpClient pueda conectarse e intercambiar datos. Sobrecargado. Shutdown Deshabilita los envíos y recepciones en un objeto Socket. Se puede establecer conexión con este agente de escucha de dos maneras diferentes: • • Cree un TcpClient y llame a uno de los tres métodos Connect disponibles. Se puede usar TcpClient o Socket para conectar con TcpListener. Estos dos métodos se bloquearán. o mediante tan sólo un número de puerto. Nota Si desea enviar datagramas sin conexión en modo de bloqueo sincrónico. . La clase TcpClient proporciona métodos sencillos para conectar. Utilice el método Close para liberar todos los recursos asociados a TcpClient. una vez que se haya conectado el socket. Especifique Any para la dirección IP local y 0 para el número de puerto local si desea que el proveedor de servicios subyacente asigne estos valores. utilice la clase UdpClient. Sobrecargado. Este constructor intentará automáticamente realizar una conexión. Llame a los métodos Write y Read de NetworkStream para enviar y recibir datos del host remoto. debe haber un TcpListener o Socket creado con el tipo de protocolo (ProtocolType) TCP a la escucha para solicitudes de conexión entrantes. Cierra la conexión Socket y libera todos los recursos asociados. Start pondrá en cola las conexiones entrantes hasta que llame al método Stop o hasta que haya puesto en cola MaxConnections. Establece una conexión a un host remoto. Cree una clase TcpListener mediante un objeto IPEndPoint. Si desea evitar el bloqueo. puede utilizar la propiedad LocalEndpoint para identificar la información asignada. una dirección IP local y un número de puerto. Utilice AcceptSocket o AcceptTcpClient para retirar una conexión de la cola de solicitudes de conexión entrantes. Recibe datos de un objeto Socket enlazado. Cree un TcpClient mediante el nombre de host y el número de puerto del host remoto. Coloca un objeto Socket en un estado de escucha.

Dado que UDP es un protocolo de transporte sin conexión. 4. ProtocolType Define el tipo de protocolo que se utilizara en el socket. Cree una instancia de la clase UdpClient y luego llame al método Connect. como InterNetworkV6 que es para direcciones IP ver. NetBios para direcciones tipo NetBIos. como Dgram para datagramas y Stream para secuencias de Bytes. SocketType Especifica el tipo de socket que representa una instancia de la clase Socket. La clase IPEndPoint contiene la información de puerto local o remoto y host que necesita una aplicación para conectarse a un servicio en un host. Utilice el método Receive para recibir datos procedentes de hosts remotos. la clase IPEndPoint forma un punto de conexión a un servicio. Se puede utilizar cualquiera de los métodos de envío proporcionados en UdpClient para enviar datos a un dispositivo remoto. sin embargo. no es necesario establecer una conexión con el host remoto antes de enviar y recibir datos. la opción de establecer un host remoto predeterminado de una de estas dos maneras: • • Cree una instancia de la clase UdpClient utilizando el nombre y el número de puerto del host remoto como parámetros. .La clase UdpClient proporciona métodos sencillos para enviar y recibir datagramas UDP sin conexión en modo de bloqueo sincrónico. Mediante la combinación de la dirección IP del host y del número de puerto de un servicio. AddressFamily Especifica el servicio de direcciones que puede utilizar una instancia de la clase Socket. por ejemplo TCP o UDP. Existe.