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.
Sınıfın bir örneğinin temsil olduğu yuva türünü Socket belirtir.
public enum class SocketType
public enum SocketType
type SocketType =
Public Enum SocketType
- Devralma
Alanlar
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. Bir Socket tür 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ü (.) ve İnternet Grup Yönetimi 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 Bir Şekilde Teslim Edilen İletiler) iletileri, yinelenenleri kaldırılmış olarak ve sırayla gelir. Ayrıca, iletiler kaybolursa gönderene bildirilir. kullanarak Rdmbir Socket başlatırsanız, veri gönderip almadan önce uzak ana bilgisayar 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. Tür Socket türlerinden biri Seqpacket tek bir eşle iletişim kurar ve iletişimin başlayabilmesi için uzak konak bağlantısı gerektirir. |
Stream | 1 | Verilerin yinelenmeden ve sınırların korunmasına gerek kalmadan güvenilir, iki yönlü, bağlantı tabanlı bayt akışlarını destekler.
Socket Bu türlerden biri tek bir eşle iletişim kurar ve iletişimin başlayabilmesi için uzak konak bağlantısı gerektirir.
Stream İletim Denetimi Protokolü 'ni ( |
Unknown | -1 | Bilinmeyen Socket bir tür belirtir. |
Örnekler
Aşağıdaki örnekte oluşturucu için Socket parametre olarak kullanılırSocketType.Stream.
//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
Açıklamalar
Bir öğesinin Socket veri gönderip alabilmesi için önce , ve SocketTypeProtocolTypekullanılarak AddressFamilyoluşturulması gerekir. Numaralandırma, SocketType açmayı planladığınız türü Socket tanımlamak için çeşitli seçenekler sağlar.
Not
SocketTypebazen bir içinde AddressFamilykullanılanı ProtocolType ö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.