Bagikan melalui


SocketType Enum

Definisi

Menentukan jenis soket yang diwakili Socket instans kelas.

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

Bidang

Dgram 2

Mendukung datagram, yang merupakan pesan tanpa koneksi dan tidak dapat diandalkan dari panjang maksimum tetap (biasanya kecil). Pesan mungkin hilang atau diduplikasi dan mungkin tidak berurutan. Socket Jenis Dgram tidak memerlukan koneksi sebelum mengirim dan menerima data, dan dapat berkomunikasi dengan beberapa rekan. Dgrammenggunakan Protokol Datagram (ProtocolType.Udp) dan AddressFamilykeluarga alamat .InterNetwork

Raw 3

Mendukung akses ke protokol transportasi yang mendasar. Dengan menggunakan Raw, Anda dapat berkomunikasi menggunakan protokol seperti Protokol Pesan Kontrol Internet (ProtocolType.Icmp) dan Protokol Manajemen Grup Internet (ProtocolType.Igmp). Aplikasi Anda harus menyediakan header IP lengkap saat mengirim. Datagram yang diterima kembali dengan header IP dan opsi utuh.

Rdm 4

Mendukung pesan tanpa koneksi, berorientasi pesan, terkirim dengan andal, dan mempertahankan batas pesan dalam data. Pesan Rdm (Pesan Terkirim Dengan Andal) tiba tidak terganggu dan berurutan. Selain itu, pengirim diberi tahu jika pesan hilang. Jika Anda menginisialisasi Socket penggunaan Rdm, Anda tidak memerlukan koneksi host jarak jauh sebelum mengirim dan menerima data. Dengan Rdm, Anda dapat berkomunikasi dengan beberapa rekan.

Seqpacket 5

Menyediakan transfer byte yang berorientasi koneksi dan andal dari aliran byte yang dipesan di seluruh jaringan. Seqpacket tidak menduplikasi data, dan mempertahankan batasan dalam aliran data. Socket Jenis Seqpacket berkomunikasi dengan satu peer dan memerlukan koneksi host jarak jauh sebelum komunikasi dapat dimulai.

Stream 1

Mendukung aliran byte berbasis koneksi dua arah yang andal tanpa duplikasi data dan tanpa pelestarian batas. Socket Jenis ini berkomunikasi dengan satu peer dan memerlukan koneksi host jarak jauh sebelum komunikasi dapat dimulai. Streammenggunakan Protokol Kendali Transmisi (ProtocolType.Tcp) dan AddressFamilykeluarga alamat .InterNetwork

Unknown -1

Menentukan tipe yang tidak diketahui Socket .

Contoh

Contoh berikut menggunakan SocketType.Stream sebagai parameter untuk Socket konstruktor.

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

Keterangan

Socket Sebelum dapat mengirim dan menerima data, data harus terlebih dahulu dibuat menggunakan AddressFamily, , SocketTypedan ProtocolType. Enumerasi SocketType menyediakan beberapa opsi untuk menentukan jenis Socket yang ingin Anda buka.

Catatan

SocketType terkadang secara implisit menunjukkan mana yang ProtocolType digunakan dalam AddressFamily. Misalnya, ketika System.Net.Sockets.SocketType adalah SocketType.Dgram, System.Net.Sockets.ProtocolType selalu ProtocolType.Udp. System.Net.Sockets.SocketType Ketika adalah SocketType.Stream, System.Net.Sockets.ProtocolType selalu ProtocolType.Tcp. Jika Anda mencoba membuat Socket dengan kombinasi yang tidak kompatibel, Socket melempar SocketException.

Berlaku untuk

Lihat juga