SocketType Sabit listesi
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
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ü ( |
| 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ü ( |
| Raw | 3 | Temel alınan aktarım protokolüne erişimi destekler. kullanarakRaw, İnternet Denetim İletisi Protokolü (. |
| 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.