SocketType Výčet

Definice

Určuje typ soketu, který instance Socket třídy představuje.

public enum class SocketType
public enum SocketType
type SocketType = 
Public Enum SocketType
Dědičnost
SocketType

Pole

Dgram 2

Podporuje datovégramy, které jsou bez připojení, nespolehlivé zprávy s pevnou (obvykle malou) maximální délkou. Zprávy můžou být ztraceny nebo duplikovány a mohou docházet mimo objednávku. Typ Socket Dgram nevyžaduje žádné připojení před odesíláním a příjmem dat a může komunikovat s více partnerskými vztahy. Dgram používá Datagram Protocol (ProtocolType.Udp) a AddressFamily.InterNetwork adresa rodinného účtu.

Raw 3

Podporuje přístup k základnímu přenosovému protokolu. Pomocí Raw, můžete komunikovat pomocí protokolů, jako je Internet Control Message Protocol (ProtocolType.Icmp) a Internet Group Management Protocol (ProtocolType.Igmp). Při odesílání musí vaše aplikace zadat úplnou hlavičku IP adresy. Přijaté datovégramy se vrátí s hlavičkou IP a možnostmi beze změny.

Rdm 4

Podporuje připojení bez připojení, orientované na zprávy, spolehlivě doručené zprávy a zachovává hranice zpráv v datech. Zprávy rdm (spolehlivě doručené zprávy) přicházejí příliš duplicitní a v pořádku. Odesílatel je navíc upozorněn, pokud dojde ke ztrátě zpráv. Pokud inicializujete použití Rdm, před odesláním Socket a příjmem dat nevyžadujete připojení vzdáleného hostitele. Pomocí Rdmfunkce můžete komunikovat s více partnerskými vztahy.

Seqpacket 5

Poskytuje obousměrný přenos uspořádaných bajtů v síti orientovaný na připojení a spolehlivý přenos bajtů. Seqpacket ne duplikuje data a zachovává hranice v rámci datového proudu. Seqpacket Typ Socket komunikuje s jedním partnerským vztahem a před zahájením komunikace vyžaduje připojení vzdáleného hostitele.

Stream 1

Podporuje spolehlivé obousměrné bajtové datové proudy založené na připojení bez duplicit dat a bez zachování hranic. Tento Socket typ komunikuje s jedním partnerským vztahem a před zahájením komunikace vyžaduje připojení vzdáleného hostitele. Stream používá protokol Transmission Control Protocol (ProtocolType.Tcp) a AddressFamily.InterNetwork adresa rodinného účtu.

Unknown -1

Určuje neznámý Socket typ.

Příklady

Následující příklad používá SocketType.Stream jako parametr konstruktoru Socket .

//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

Poznámky

Před odesláním a příjmem Socket dat musí být nejprve vytvořena pomocí objektu AddressFamily, a SocketTypeProtocolType. Výčet SocketType poskytuje několik možností definování typu Socket , který chcete otevřít.

Poznámka

SocketTypeněkdy implicitně označuje, která ProtocolType se používá v rámci .AddressFamily Například když System.Net.Sockets.SocketType je , System.Net.Sockets.ProtocolType je SocketType.DgramProtocolType.Udpvždy . System.Net.Sockets.SocketType Když je , System.Net.Sockets.ProtocolType je SocketType.Streamvždy ProtocolType.Tcp. Pokud se pokusíte vytvořit Socket s nekompatibilní kombinací, Socket vyvolá SocketExceptionchybu .

Platí pro

Viz také