Clase System.Net.Sockets.Socket

En este artículo se proporcionan comentarios adicionales a la documentación de referencia de esta API.

La Socket clase proporciona un amplio conjunto de métodos y propiedades para las comunicaciones de red. La Socket clase permite realizar transferencias de datos sincrónicas y asincrónicas mediante cualquiera de los protocolos de comunicación enumerados en la ProtocolType enumeración.

La Socket clase sigue el patrón de nomenclatura de .NET para métodos asincrónicos. Por ejemplo, el método sincrónico Receive corresponde a las variantes asincrónicas ReceiveAsync .

Use los métodos siguientes para el modo de operación sincrónica:

  • Si usa un protocolo orientado a la conexión como TCP, el servidor puede escuchar las conexiones mediante el Listen método . El Accept método procesa las solicitudes de conexión entrantes y devuelve un Socket que puede usar para comunicar datos con el host remoto. Use este valor devuelto Socket para llamar al Send método o Receive . Bind Llame al método antes de llamar al Listen método si desea especificar la dirección IP local y el número de puerto. Use un número de puerto de cero si desea que el proveedor de servicios subyacente asigne un puerto gratuito. Si desea conectarse a un host de escucha, llame al Connect método . Para comunicar datos, llame al Send método o Receive .
  • Si usa un protocolo sin conexión como UDP, no es necesario que escuche las conexiones en absoluto. Llame al ReceiveFrom método para aceptar los datagramas entrantes. Use el SendTo método para enviar datagramas a un host remoto.

Para procesar las comunicaciones de forma asincrónica, use los métodos siguientes:

  • Si usa un protocolo orientado a la conexión como TCP, use ConnectAsync para conectarse con un host de escucha. Use SendAsync o ReceiveAsync para comunicar datos de forma asincrónica. Las solicitudes de conexión entrantes se pueden procesar mediante AcceptAsync.
  • Si usa un protocolo sin conexión como UDP, puede usar SendToAsync para enviar datagramas y ReceiveFromAsyncpara recibir datagramas.

Si realiza varias operaciones asincrónicas en un socket, no se completan necesariamente en el orden en que se inician.

Cuando haya terminado de enviar y recibir datos, use el Shutdown método para deshabilitar .Socket Después de llamar Shutdowna , llame al Close método para liberar todos los recursos asociados a Socket.

La Socket clase permite configurar Socket mediante el SetSocketOption método . Recupere esta configuración mediante el GetSocketOption método .