SocketType SocketType SocketType SocketType Enum

Definizione

Specifica il tipo di socket rappresentato da un'istanza della classe 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
Ereditarietà

Campi

Dgram Dgram Dgram Dgram 2

Supporta datagrammi, che sono messaggi senza connessione, non affidabili di lunghezza massima fissa (generalmente piccola).Supports datagrams, which are connectionless, unreliable messages of a fixed (typically small) maximum length. I messaggi potrebbero essere persi o duplicati e potrebbero arrivare non nell'ordine corretto.Messages might be lost or duplicated and might arrive out of order. Un oggetto Socket di tipo Dgram non richiede alcuna connessione prima dell'invio e della ricezione dei dati ed è in grado di comunicare con più peer.A Socket of type Dgram requires no connection prior to sending and receiving data, and can communicate with multiple peers. Dgram usa il Datagram Protocol (ProtocolType.Udp) e AddressFamily.InterNetworkDgram uses the Datagram Protocol (ProtocolType.Udp) and the AddressFamily.InterNetwork famiglia di indirizzi.address family.

Raw Raw Raw Raw 3

Supporta l'accesso al protocollo di trasporto sottostante.Supports access to the underlying transport protocol. L'uso di Raw consente di comunicare tramite protocolli come Internet Control Message Protocol (ProtocolType.Icmp) e Internet Group Management Protocol (ProtocolType.Igmp).Using Raw, you can communicate using protocols like Internet Control Message Protocol (ProtocolType.Icmp) and Internet Group Management Protocol (ProtocolType.Igmp). È necessario che nell'applicazione venga fornita un'intestazione IP completa durante l'invio.Your application must provide a complete IP header when sending. I datagrammi ricevuti vengono restituiti con l'intestazione IP e le opzioni non modificate.Received datagrams return with the IP header and options intact.

Rdm Rdm Rdm Rdm 4

Supporta messaggi senza connessione, orientati ai messaggi e consegnati in modo affidabile; inoltre conserva i limiti del messaggio nei dati.Supports connectionless, message-oriented, reliably delivered messages, and preserves message boundaries in data. I messaggi Rdm ( Reliably-Delivered Messages) arrivano non duplicati e nell'ordine corretto.Rdm (Reliably Delivered Messages) messages arrive unduplicated and in order. Inoltre, il mittente viene avvisato se i messaggi vengono persi.Furthermore, the sender is notified if messages are lost. Se si inizializza un Socket utilizzando Rdm, non sarà necessario stabilire una connessione all'host remoto prima di inviare e ricevere dati.If you initialize a Socket using Rdm, you do not require a remote host connection before sending and receiving data. Con Rdm è possibile comunicare con più peer.With Rdm, you can communicate with multiple peers.

Seqpacket Seqpacket Seqpacket Seqpacket 5

Fornisce il trasferimento bidirezionale orientato alla connessione e affidabile di flussi di byte ordinati in una rete.Provides connection-oriented and reliable two-way transfer of ordered byte streams across a network. Seqpacket non duplica i dati e preserva i limiti all'interno del flusso di dati.Seqpacket does not duplicate data, and it preserves boundaries within the data stream. Un Socket di tipo Seqpacket comunica con un unico peer e richiede una connessione all'host remoto prima di poter iniziare una comunicazione.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

Supporta flussi di byte affidabili, a due vie e orientati alla connessione senza la duplicazione di dati e senza la conservazione dei limiti.Supports reliable, two-way, connection-based byte streams without the duplication of data and without preservation of boundaries. Un oggetto Socket di questo tipo comunica con un unico peer e richiede una connessione all'host remoto prima di poter avviare una comunicazione.A Socket of this type communicates with a single peer and requires a remote host connection before communication can begin. Stream usa il protocollo TCP (Transmission Control Protocol) (ProtocolType.Tcp) e AddressFamily.InterNetworkStream uses the Transmission Control Protocol (ProtocolType.Tcp) and the AddressFamily.InterNetwork famiglia di indirizzi.address family.

Unknown Unknown Unknown Unknown -1

Specifica un tipo di Socket sconosciuto.Specifies an unknown Socket type.

Esempi

Nell'esempio seguente viene SocketType.Stream utilizzato come parametro per il Socket costruttore.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 

Commenti

Prima che Socket un oggetto possa inviare e ricevere dati, è necessario innanzitutto crearlo AddressFamilyutilizzando un SocketTypeoggetto, un ProtocolTypeoggetto e un oggetto.Before a Socket can send and receive data, it must first be created using an AddressFamily, a SocketType, and a ProtocolType. L' SocketType enumerazione fornisce diverse opzioni per la definizione del tipo Socket di che si desidera aprire.The SocketType enumeration provides several options for defining the type of Socket that you intend to open.

Nota

SocketTypetalvolta indica in modo implicito quale ProtocolType viene utilizzato all'interno di un oggetto. AddressFamilySocketType sometimes implicitly indicates which ProtocolType is used within an AddressFamily. Ad esempio, System.Net.Sockets.SocketType quando è SocketType.Dgram, System.Net.Sockets.ProtocolType è sempre ProtocolType.Udp.For example, when the System.Net.Sockets.SocketType is SocketType.Dgram, the System.Net.Sockets.ProtocolType is always ProtocolType.Udp. System.Net.Sockets.SocketType Quando è SocketType.Stream, èSystem.Net.Sockets.ProtocolType sempre .ProtocolType.TcpWhen the System.Net.Sockets.SocketType is SocketType.Stream, the System.Net.Sockets.ProtocolType is always ProtocolType.Tcp. Se si tenta di creare un Socket oggetto con una combinazione incompatibile Socket , genera SocketExceptionun'eccezione.If you try to create a Socket with an incompatible combination, Socket throws a SocketException.

Si applica a

Vedi anche