SocketType Sabit listesi

Tanım

Socket sınıfının bir örneğinin temsil ettiği yuva türünü belirtir.

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

Alanlar

Name Değer Description
Unknown -1

Bilinmeyen Socket bir tür belirtir.

Stream 1

Verilerin çoğaltılması ve sınırların korunması olmadan güvenilir, iki yönlü, bağlantı tabanlı bayt akışlarını destekler. Bu türlerden biri Socket tek bir eşle iletişim kurar ve iletişimin başlayabilmesi için uzak konak bağlantısı gerektirir. Stream İletim Denetimi Protokolü (ProtocolType.Tcp) ve AddressFamily.InterNetwork adres ailesini kullanır.

Dgram 2

Sabit (genellikle küçük) maksimum uzunlukta bağlantısız, güvenilir olmayan iletiler olan veri birimlerini destekler. İletiler kaybolabilir veya yinelenebilir ve sıra dışı gelebilir. Türlerden Socket biri Dgram , veri göndermeden ve almadan önce bağlantı gerektirmez ve birden çok eşle iletişim kurabilir. Dgram Veri Birimi Protokolü (ProtocolType.Udp) ve AddressFamily.InterNetwork adres ailesini kullanır.

Raw 3

Temel alınan aktarım protokolüne erişimi destekler. kullanarakRaw, İnternet Denetim İletisi Protokolü (.ProtocolType) ve İnternet Grup Yönetimi Protokolü (IcmpProtocolType.Igmp) gibi protokolleri kullanarak iletişim kurabilirsiniz. Uygulamanızın gönderirken tam bir IP üst bilgisi sağlaması gerekir. Alınan veri birimleri, IP üst bilgisi ve seçenekleri olduğu gibi döndürür.

Rdm 4

Bağlantısız, ileti odaklı, güvenilir bir şekilde teslim edilen iletileri destekler ve verilerdeki ileti sınırlarını korur. Rdm (Güvenilir Teslim Edilen İletiler) iletileri, yinelenenleri kaldırılmış olarak ve sırayla gelir. Ayrıca, iletiler kaybolursa gönderene bildirilir. kullanarak Socketbir Rdm başlatırsanız, veri göndermeden ve almadan önce uzak konak bağlantısı gerekmez. ile Rdmbirden çok eşle iletişim kurabilirsiniz.

Seqpacket 5

Ağ üzerinden sıralı bayt akışlarının bağlantı odaklı ve güvenilir iki yönlü aktarımını sağlar. Seqpacket verileri çoğaltmaz ve veri akışındaki sınırları korur. Bir Socket tür, Seqpacket tek bir eşle iletişim kurar ve iletişimin başlayabilmesi için uzak konak bağlantısı gerektirir.

Örnekler

Aşağıdaki örnek oluşturucu için SocketType.Stream parametre olarak kullanırSocket.

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

Açıklamalar

Bir öğesinin Socket veri gönderip alabilmesi için önce bir AddressFamily, SocketTypeve ProtocolTypekullanılarak oluşturulması gerekir. Numaralandırma, SocketType açmayı planladığınız türünü Socket tanımlamak için çeşitli seçenekler sağlar.

Note

SocketTypebazen bir içinde ProtocolTypekullanılanı AddressFamily örtük olarak gösterir. Örneğin, olduğunda System.Net.Sockets.SocketTypeSocketType.DgramSystem.Net.Sockets.ProtocolType, her zaman ProtocolType.Udpşeklindedir. System.Net.Sockets.SocketType olduğundaSocketType.Stream, System.Net.Sockets.ProtocolType her zaman ProtocolType.Tcpşeklindedir. Uyumsuz bir birleşimle bir Socket oluşturmaya çalışırsanız, Socket bir SocketExceptionoluşturur.

Şunlara uygulanır

Ayrıca bkz.