SocketType SocketType SocketType SocketType Enum

Definición

Especifica el tipo de socket que representa una instancia de la clase Socket.Specifies the type of socket that an instance of the Socket class represents.

public enum class SocketType
public enum SocketType
type SocketType = 
Public Enum SocketType
Herencia

Campos

Dgram Dgram Dgram Dgram 2

Admite datagramas, que son mensajes no confiables sin conexión con una longitud máxima fija (normalmente corta).Supports datagrams, which are connectionless, unreliable messages of a fixed (typically small) maximum length. Los mensajes pueden perderse o duplicarse y llegar desordenados.Messages might be lost or duplicated and might arrive out of order. Un objeto Socket de tipo Dgram no necesita conexión antes de enviar y recibir datos, y puede comunicarse con varios elementos del mismo nivel.A Socket of type Dgram requires no connection prior to sending and receiving data, and can communicate with multiple peers. Dgram usa el Protocolo de datagramas (ProtocolType.Udp) y AddressFamily.InterNetworkDgram uses the Datagram Protocol (ProtocolType.Udp) and the AddressFamily.InterNetwork familia de direcciones.address family.

Raw Raw Raw Raw 3

Admite el acceso al protocolo de transporte subyacente.Supports access to the underlying transport protocol. Al usar Raw, se puede comunicar mediante protocolos como el Protocolo de mensajes de control de Internet (ProtocolType.Icmp) y el Protocolo de administración de grupos de Internet (ProtocolType.Igmp).Using Raw, you can communicate using protocols like Internet Control Message Protocol (ProtocolType.Icmp) and Internet Group Management Protocol (ProtocolType.Igmp). La aplicación debe proporcionar un encabezado IP completo al realizar envíos.Your application must provide a complete IP header when sending. Los datagramas recibidos se devuelven con el encabezado IP y las opciones intactas.Received datagrams return with the IP header and options intact.

Rdm Rdm Rdm Rdm 4

Admite mensajes entregados con confianza orientados a mensajes sin conexión y conserva los límites de mensaje en los datos.Supports connectionless, message-oriented, reliably delivered messages, and preserves message boundaries in data. Los mensajes entregados con confianza (Rdm) llegan sin duplicidad y ordenados.Rdm (Reliably Delivered Messages) messages arrive unduplicated and in order. Más aún, el remitente recibe notificación en caso de producirse pérdida de mensajes.Furthermore, the sender is notified if messages are lost. Si Socket se inicializa con Rdm, no será necesaria una conexión al host remoto antes de enviar y recibir datos.If you initialize a Socket using Rdm, you do not require a remote host connection before sending and receiving data. Con Rdm se puede establecer comunicación con varios elementos del mismo nivel.With Rdm, you can communicate with multiple peers.

Seqpacket Seqpacket Seqpacket Seqpacket 5

Proporciona la transferencia bidireccional, confiable y basada en conexiones, de secuencias de bytes ordenadas a través de una red.Provides connection-oriented and reliable two-way transfer of ordered byte streams across a network. Seqpacket no duplica los datos y mantiene los límites dentro del flujo de datos.Seqpacket does not duplicate data, and it preserves boundaries within the data stream. Las clases Socket de tipo Seqpacket se comunican con un solo elemento del mismo nivel y requieren una conexión con el host remoto para poder iniciar la comunicación.A Socket of type Seqpacket communicates with a single peer and requires a remote host connection before communication can begin.

Stream Stream Stream Stream 1

Admite secuencias de bytes bidireccionales confiables, basadas en conexión, sin duplicidad de datos ni conservación de límites.Supports reliable, two-way, connection-based byte streams without the duplication of data and without preservation of boundaries. Un objeto Socket de este tipo se comunica con un solo elemento del mismo nivel y requiere una conexión con el host remoto para poder iniciar la comunicación.A Socket of this type communicates with a single peer and requires a remote host connection before communication can begin. Stream usa el Protocolo de control de transporte (ProtocolType.Tcp) y AddressFamily.InterNetworkStream uses the Transmission Control Protocol (ProtocolType.Tcp) and the AddressFamily.InterNetwork familia de direcciones.address family.

Unknown Unknown Unknown Unknown -1

Especifica un tipo de Socket desconocido.Specifies an unknown Socket type.

Ejemplos

En el ejemplo siguiente se usa SocketType.Stream como un parámetro a la Socket constructor.The following example uses SocketType.Stream as a parameter to the Socket constructor.

//Creates the Socket for sending data over TCP.
Socket^ s = gcnew Socket( AddressFamily::InterNetwork, SocketType::Stream,
   ProtocolType::Tcp );

// Connects to host using IPEndPoint.
s->Connect( EPhost );
if ( !s->Connected )
{
   strRetPage = "Unable to connect to host";
}
// Use the SelectWrite enumeration to obtain Socket status.
if ( s->Poll( -1, SelectMode::SelectWrite ) )
{
   Console::WriteLine( "This Socket is writable." );
}
else if ( s->Poll(  -1, SelectMode::SelectRead ) )
{
   Console::WriteLine( "This Socket is readable." );
}
else if ( s->Poll(  -1, SelectMode::SelectError ) )
{
   Console::WriteLine( "This Socket has an error." );
}
//Creates the Socket for sending data over TCP.
Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream,
   ProtocolType.Tcp );

// Connects to host using IPEndPoint.
s.Connect(EPhost);
if (!s.Connected)
{
   strRetPage = "Unable to connect to host";
}
// Use the SelectWrite enumeration to obtain Socket status.
 if(s.Poll(-1, SelectMode.SelectWrite)){
      Console.WriteLine("This Socket is writable.");
 }
 else if (s.Poll(-1, SelectMode.SelectRead)){
 	   Console.WriteLine("This Socket is readable." );
 }
 else if (s.Poll(-1, SelectMode.SelectError)){
      Console.WriteLine("This Socket has an error.");
 }

'Creates the Socket for sending data over TCP.
Dim s As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)

' Connects to host using IPEndPoint.
s.Connect(EPhost)
If Not s.Connected Then
   strRetPage = "Unable to connect to host"
End If
' Use the SelectWrite enumeration to obtain Socket status.
If s.Poll(- 1, SelectMode.SelectWrite) Then
   Console.WriteLine("This Socket is writable.")
Else
   If s.Poll(- 1, SelectMode.SelectRead) Then
      Console.WriteLine(("This Socket is readable. "))
   Else
      If s.Poll(- 1, SelectMode.SelectError) Then
         Console.WriteLine("This Socket has an error.")
      End If
   End If 
End If 

Comentarios

Antes de un Socket puede enviar y recibir datos, primero se debe crear con un AddressFamily, un SocketTypey un ProtocolType.Before a Socket can send and receive data, it must first be created using an AddressFamily, a SocketType, and a ProtocolType. El SocketType enumeración proporciona varias opciones para definir el tipo de Socket que desea abrir.The SocketType enumeration provides several options for defining the type of Socket that you intend to open.

Nota

SocketType a veces implícitamente indica qué ProtocolType se utiliza dentro de un AddressFamily.SocketType sometimes implicitly indicates which ProtocolType is used within an AddressFamily. Por ejemplo, cuando el System.Net.Sockets.SocketType es SocketType.Dgram, System.Net.Sockets.ProtocolType siempre ProtocolType.Udp.For example, when the System.Net.Sockets.SocketType is SocketType.Dgram, the System.Net.Sockets.ProtocolType is always ProtocolType.Udp. Cuando el System.Net.Sockets.SocketType es SocketType.Stream, System.Net.Sockets.ProtocolType siempre ProtocolType.Tcp.When the System.Net.Sockets.SocketType is SocketType.Stream, the System.Net.Sockets.ProtocolType is always ProtocolType.Tcp. Si se intenta crear un Socket con una combinación incompatible, Socket produce una SocketException.If you try to create a Socket with an incompatible combination, Socket throws a SocketException.

Se aplica a

Consulte también: