Socket Kelas

Definisi

Mengimplementasikan antarmuka soket Berkeley.

public ref class Socket : IDisposable
public class Socket : IDisposable
type Socket = class
    interface IDisposable
Public Class Socket
Implements IDisposable
Warisan
Socket
Penerapan

Contoh

Contoh berikut menunjukkan bagaimana Socket kelas dapat digunakan untuk mengirim data ke server HTTP, mencetak respons ASCII ke output standar. Contoh ini memblokir utas panggilan hingga seluruh halaman diterima.

private static void SendHttpRequest(Uri? uri = null, int port = 80)
{
    uri ??= new Uri("http://example.com");

    // Construct a minimalistic HTTP/1.1 request
    byte[] requestBytes = Encoding.ASCII.GetBytes(@$"GET {uri.AbsoluteUri} HTTP/1.0
Host: {uri.Host}
Connection: Close

");

    // Create and connect a dual-stack socket
    using Socket socket = new Socket(SocketType.Stream, ProtocolType.Tcp);
    socket.Connect(uri.Host, port);

    // Send the request.
    // For the tiny amount of data in this example, the first call to Send() will likely deliver the buffer completely,
    // however this is not guaranteed to happen for larger real-life buffers.
    // The best practice is to iterate until all the data is sent.
    int bytesSent = 0;
    while (bytesSent < requestBytes.Length)
    {
        bytesSent += socket.Send(requestBytes, bytesSent, requestBytes.Length - bytesSent, SocketFlags.None);
    }

    // Do minimalistic buffering assuming ASCII response
    byte[] responseBytes = new byte[256];
    char[] responseChars = new char[256];

    while (true)
    {
        int bytesReceived = socket.Receive(responseBytes);

        // Receiving 0 bytes means EOF has been reached
        if (bytesReceived == 0) break;

        // Convert byteCount bytes to ASCII characters using the 'responseChars' buffer as destination
        int charCount = Encoding.ASCII.GetChars(responseBytes, 0, bytesReceived, responseChars, 0);

        // Print the contents of the 'responseChars' buffer to Console.Out
        Console.Out.Write(responseChars, 0, charCount);
    }
}

Contoh berikutnya menunjukkan skenario HTTP GET yang sama, menggunakan API asinkron berbasis Tugas, sekaligus meneruskan CancellationToken ke metode asinkron, membuat seluruh operasi dapat dibatalkan.

Tip

SocketMetode asinkron yang tidak mengambil CancellationToken biasanya mengembalikan Task, yang dialokasikan pada tumpukan. Kelebihan beban yang dapat dibatalkan selalu ValueTask-returning; menggunakannya membantu mengurangi alokasi dalam kode berkinerja tinggi.

private static async Task SendHttpRequestAsync(Uri? uri = null, int port = 80, CancellationToken cancellationToken = default)
{
    uri ??= new Uri("http://example.com");

    // Construct a minimalistic HTTP/1.1 request
    byte[] requestBytes = Encoding.ASCII.GetBytes(@$"GET {uri.AbsoluteUri} HTTP/1.1
Host: {uri.Host}
Connection: Close

");

    // Create and connect a dual-stack socket
    using Socket socket = new Socket(SocketType.Stream, ProtocolType.Tcp);
    await socket.ConnectAsync(uri.Host, port, cancellationToken);

    // Send the request.
    // For the tiny amount of data in this example, the first call to SendAsync() will likely deliver the buffer completely,
    // however this is not guaranteed to happen for larger real-life buffers.
    // The best practice is to iterate until all the data is sent.
    int bytesSent = 0;
    while (bytesSent < requestBytes.Length)
    {
        bytesSent += await socket.SendAsync(requestBytes.AsMemory(bytesSent), SocketFlags.None);
    }

    // Do minimalistic buffering assuming ASCII response
    byte[] responseBytes = new byte[256];
    char[] responseChars = new char[256];

    while (true)
    {
        int bytesReceived = await socket.ReceiveAsync(responseBytes, SocketFlags.None, cancellationToken);

        // Receiving 0 bytes means EOF has been reached
        if (bytesReceived == 0) break;

        // Convert byteCount bytes to ASCII characters using the 'responseChars' buffer as destination
        int charCount = Encoding.ASCII.GetChars(responseBytes, 0, bytesReceived, responseChars, 0);

        // Print the contents of the 'responseChars' buffer to Console.Out
        await Console.Out.WriteAsync(responseChars.AsMemory(0, charCount), cancellationToken);
    }
}

Keterangan

Untuk informasi selengkapnya tentang API ini, lihat Keterangan API Tambahan untuk Soket.

Konstruktor

Socket(AddressFamily, SocketType, ProtocolType)

Menginisialisasi instans Socket baru kelas menggunakan keluarga alamat, jenis soket, dan protokol yang ditentukan.

Socket(SafeSocketHandle)

Menginisialisasi instans Socket baru kelas untuk handel soket yang ditentukan.

Socket(SocketInformation)

Menginisialisasi instans Socket baru kelas menggunakan nilai yang ditentukan yang dikembalikan dari DuplicateAndClose(Int32).

Socket(SocketType, ProtocolType)

Menginisialisasi instans Socket baru kelas menggunakan jenis soket dan protokol yang ditentukan. Jika sistem operasi mendukung IPv6, konstruktor ini membuat soket mode ganda; jika tidak, ia membuat soket IPv4.

Properti

AddressFamily

Mendapatkan keluarga alamat dari Socket.

Available

Mendapatkan jumlah data yang telah diterima dari jaringan dan tersedia untuk dibaca.

Blocking

Mendapatkan atau menetapkan nilai yang menunjukkan apakah Socket berada dalam mode pemblokiran.

Connected

Mendapatkan nilai yang menunjukkan apakah tersambung Socket ke host jarak jauh pada operasi atau Receive terakhirSend.

DontFragment

Mendapatkan atau menetapkan nilai yang menentukan apakah Socket memungkinkan datagram Protokol Internet (IP) terfragmentasi.

DualMode

Mendapatkan atau menetapkan nilai yang menentukan apakah Socket adalah soket mode ganda yang digunakan untuk IPv4 dan IPv6.

EnableBroadcast

Mendapatkan atau menetapkan Boolean nilai yang menentukan apakah Socket dapat mengirim paket siaran.

ExclusiveAddressUse

Mendapatkan atau menetapkan Boolean nilai yang menentukan apakah Socket hanya mengizinkan satu proses untuk mengikat port.

Handle

Mendapatkan handel sistem operasi untuk Socket.

IsBound

Mendapatkan nilai yang menunjukkan apakah Socket terikat ke port lokal tertentu.

LingerState

Mendapatkan atau menetapkan nilai yang menentukan apakah Socket akan menunda penutupan soket dalam upaya untuk mengirim semua data yang tertunda.

LocalEndPoint

Mendapatkan titik akhir lokal.

MulticastLoopback

Mendapatkan atau menetapkan nilai yang menentukan apakah paket multicast keluar dikirimkan ke aplikasi pengirim.

NoDelay

Mendapatkan atau menetapkan Boolean nilai yang menentukan apakah aliran Socket menggunakan algoritma Nagle.

OSSupportsIPv4

Menunjukkan apakah sistem operasi dan adaptor jaringan yang mendasar mendukung Protokol Internet versi 4 (IPv4).

OSSupportsIPv6

Menunjukkan apakah sistem operasi dan adaptor jaringan yang mendasar mendukung Protokol Internet versi 6 (IPv6).

OSSupportsUnixDomainSockets

Menunjukkan apakah sistem operasi yang mendasar mendukung soket domain Unix.

ProtocolType

Mendapatkan jenis protokol dari Socket.

ReceiveBufferSize

Mendapatkan atau menetapkan nilai yang menentukan ukuran buffer penerima .Socket

ReceiveTimeout

Mendapatkan atau menetapkan nilai yang menentukan jumlah waktu setelah panggilan sinkron Receive akan kehabisan waktu.

RemoteEndPoint

Mendapatkan titik akhir jarak jauh.

SafeHandle

SafeSocketHandle Mendapatkan yang mewakili handel soket yang dienkapsulasi objek saat iniSocket.

SendBufferSize

Mendapatkan atau menetapkan nilai yang menentukan ukuran buffer Socketpengiriman .

SendTimeout

Mendapatkan atau menetapkan nilai yang menentukan jumlah waktu setelah panggilan sinkron Send akan kehabisan waktu.

SocketType

Mendapatkan jenis Socket.

SupportsIPv4
Kedaluwarsa.
Kedaluwarsa.
Kedaluwarsa.

Mendapatkan nilai yang menunjukkan apakah dukungan IPv4 tersedia dan diaktifkan pada host saat ini.

SupportsIPv6
Kedaluwarsa.
Kedaluwarsa.
Kedaluwarsa.

Mendapatkan nilai yang menunjukkan apakah Kerangka Kerja mendukung IPv6 untuk anggota usang Dns tertentu.

Ttl

Mendapatkan atau menetapkan nilai yang menentukan nilai Time To Live (TTL) paket Protokol Internet (IP) yang dikirim oleh Socket.

UseOnlyOverlappedIO
Kedaluwarsa.

Mendapatkan atau menetapkan nilai yang menentukan apakah soket hanya boleh menggunakan mode I/O yang Tumpang Tindih. Pada .NET 5+ (termasuk versi .NET Core), nilainya selalu false.

Metode

Accept()

Membuat baru Socket untuk koneksi yang baru dibuat.

AcceptAsync()

Menerima koneksi masuk.

AcceptAsync(CancellationToken)

Menerima koneksi masuk.

AcceptAsync(Socket)

Menerima koneksi masuk.

AcceptAsync(Socket, CancellationToken)

Menerima koneksi masuk.

AcceptAsync(SocketAsyncEventArgs)

Memulai operasi asinkron untuk menerima upaya koneksi masuk.

BeginAccept(AsyncCallback, Object)

Memulai operasi asinkron untuk menerima upaya koneksi masuk.

BeginAccept(Int32, AsyncCallback, Object)

Memulai operasi asinkron untuk menerima upaya koneksi masuk dan menerima blok data pertama yang dikirim oleh aplikasi klien.

BeginAccept(Socket, Int32, AsyncCallback, Object)

Memulai operasi asinkron untuk menerima upaya koneksi masuk dari soket tertentu dan menerima blok data pertama yang dikirim oleh aplikasi klien.

BeginConnect(EndPoint, AsyncCallback, Object)

Memulai permintaan asinkron untuk koneksi host jarak jauh.

BeginConnect(IPAddress, Int32, AsyncCallback, Object)

Memulai permintaan asinkron untuk koneksi host jarak jauh. Host ditentukan oleh IPAddress dan nomor port.

BeginConnect(IPAddress[], Int32, AsyncCallback, Object)

Memulai permintaan asinkron untuk koneksi host jarak jauh. Host ditentukan oleh IPAddress array dan nomor port.

BeginConnect(String, Int32, AsyncCallback, Object)

Memulai permintaan asinkron untuk koneksi host jarak jauh. Host ditentukan oleh nama host dan nomor port.

BeginDisconnect(Boolean, AsyncCallback, Object)

Memulai permintaan asinkron untuk memutuskan sambungan dari titik akhir jarak jauh.

BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)

Mulai menerima data secara asinkron dari yang tersambung Socket.

BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object)

Mulai menerima data secara asinkron dari yang tersambung Socket.

BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object)

Mulai menerima data secara asinkron dari yang tersambung Socket.

BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object)

Mulai menerima data secara asinkron dari yang tersambung Socket.

BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)

Mulai menerima data secara asinkron dari perangkat jaringan tertentu.

BeginReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)

Mulai secara asinkron menerima jumlah byte data yang ditentukan ke lokasi buffer data yang ditentukan, menggunakan SocketFlags, dan menyimpan titik akhir dan informasi paket.

BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)

Mengirim data secara asinkron ke yang tersambung Socket.

BeginSend(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object)

Mengirim data secara asinkron ke yang tersambung Socket.

BeginSend(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object)

Mengirim data secara asinkron ke yang tersambung Socket.

BeginSend(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object)

Mengirim data secara asinkron ke yang tersambung Socket.

BeginSendFile(String, AsyncCallback, Object)

Mengirim file fileName ke objek yang tersambung Socket menggunakan UseDefaultWorkerThread bendera .

BeginSendFile(String, Byte[], Byte[], TransmitFileOptions, AsyncCallback, Object)

Mengirim file dan buffer data secara asinkron ke objek yang tersambung Socket .

BeginSendTo(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)

Mengirim data secara asinkron ke host jarak jauh tertentu.

Bind(EndPoint)

Socket Mengaitkan dengan titik akhir lokal.

CancelConnectAsync(SocketAsyncEventArgs)

Membatalkan permintaan asinkron untuk koneksi host jarak jauh.

Close()

Socket Menutup koneksi dan merilis semua sumber daya terkait.

Close(Int32)

Socket Menutup koneksi dan merilis semua sumber daya terkait dengan batas waktu tertentu untuk memungkinkan data antrean dikirim.

Connect(EndPoint)

Membuat koneksi ke host jarak jauh.

Connect(IPAddress, Int32)

Membuat koneksi ke host jarak jauh. Host ditentukan oleh alamat IP dan nomor port.

Connect(IPAddress[], Int32)

Membuat koneksi ke host jarak jauh. Host ditentukan oleh array alamat IP dan nomor port.

Connect(String, Int32)

Membuat koneksi ke host jarak jauh. Host ditentukan oleh nama host dan nomor port.

ConnectAsync(EndPoint)

Membuat koneksi ke host jarak jauh.

ConnectAsync(EndPoint, CancellationToken)

Membuat koneksi ke host jarak jauh.

ConnectAsync(IPAddress, Int32)

Membuat koneksi ke host jarak jauh.

ConnectAsync(IPAddress, Int32, CancellationToken)

Membuat koneksi ke host jarak jauh.

ConnectAsync(IPAddress[], Int32)

Membuat koneksi ke host jarak jauh.

ConnectAsync(IPAddress[], Int32, CancellationToken)

Membuat koneksi ke host jarak jauh.

ConnectAsync(SocketAsyncEventArgs)

Memulai permintaan asinkron untuk koneksi ke host jarak jauh.

ConnectAsync(SocketType, ProtocolType, SocketAsyncEventArgs)

Memulai permintaan asinkron untuk koneksi ke host jarak jauh.

ConnectAsync(String, Int32)

Membuat koneksi ke host jarak jauh.

ConnectAsync(String, Int32, CancellationToken)

Membuat koneksi ke host jarak jauh.

Disconnect(Boolean)

Menutup koneksi soket dan memungkinkan penggunaan kembali soket.

DisconnectAsync(Boolean, CancellationToken)

Memutuskan sambungan soket yang terhubung dari host jarak jauh.

DisconnectAsync(SocketAsyncEventArgs)

Memulai permintaan asinkron untuk memutuskan sambungan dari titik akhir jarak jauh.

Dispose()

Merilis semua sumber daya yang digunakan oleh instans Socket kelas saat ini.

Dispose(Boolean)

Merilis sumber daya tidak terkelola yang digunakan oleh Socket, dan secara opsional membuang sumber daya terkelola.

DuplicateAndClose(Int32)

Menduplikasi referensi soket untuk proses target, dan menutup soket untuk proses ini.

EndAccept(Byte[], IAsyncResult)

Secara asinkron menerima upaya koneksi masuk dan membuat objek baru Socket untuk menangani komunikasi host jarak jauh. Metode ini mengembalikan buffer yang berisi data awal yang ditransfer.

EndAccept(Byte[], Int32, IAsyncResult)

Secara asinkron menerima upaya koneksi masuk dan membuat objek baru Socket untuk menangani komunikasi host jarak jauh. Metode ini mengembalikan buffer yang berisi data awal dan jumlah byte yang ditransfer.

EndAccept(IAsyncResult)

Secara asinkron menerima upaya koneksi masuk dan membuat baru Socket untuk menangani komunikasi host jarak jauh.

EndConnect(IAsyncResult)

Mengakhiri permintaan koneksi asinkron yang tertunda.

EndDisconnect(IAsyncResult)

Mengakhiri permintaan pemutusan sambungan asinkron yang tertunda.

EndReceive(IAsyncResult)

Mengakhiri pembacaan asinkron yang tertunda.

EndReceive(IAsyncResult, SocketError)

Mengakhiri pembacaan asinkron yang tertunda.

EndReceiveFrom(IAsyncResult, EndPoint)

Mengakhiri pembacaan asinkron yang tertunda dari titik akhir tertentu.

EndReceiveMessageFrom(IAsyncResult, SocketFlags, EndPoint, IPPacketInformation)

Mengakhiri pembacaan asinkron yang tertunda dari titik akhir tertentu. Metode ini juga mengungkapkan lebih banyak informasi tentang paket daripada EndReceiveFrom(IAsyncResult, EndPoint).

EndSend(IAsyncResult)

Mengakhiri pengiriman asinkron yang tertunda.

EndSend(IAsyncResult, SocketError)

Mengakhiri pengiriman asinkron yang tertunda.

EndSendFile(IAsyncResult)

Mengakhiri pengiriman file asinkron yang tertunda.

EndSendTo(IAsyncResult)

Mengakhiri pengiriman asinkron yang tertunda ke lokasi tertentu.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
Finalize()

Membebaskan sumber daya yang digunakan oleh Socket kelas .

GetHashCode()

Mengembalikan nilai hash untuk Socket instans.

GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetRawSocketOption(Int32, Int32, Span<Byte>)

Mendapatkan nilai opsi soket menggunakan tingkat khusus platform dan pengidentifikasi nama.

GetSocketOption(SocketOptionLevel, SocketOptionName)

Mengembalikan nilai opsi yang ditentukan Socket , yang direpresentasikan sebagai objek.

GetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])

Mengembalikan pengaturan opsi yang ditentukan Socket , yang direpresentasikan sebagai array byte.

GetSocketOption(SocketOptionLevel, SocketOptionName, Int32)

Mengembalikan nilai opsi yang ditentukan Socket dalam array.

GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
IOControl(Int32, Byte[], Byte[])

Mengatur mode operasi tingkat rendah untuk Socket menggunakan kode kontrol numerik.

IOControl(IOControlCode, Byte[], Byte[])

Mengatur mode operasi tingkat rendah untuk Socket menggunakan IOControlCode enumerasi untuk menentukan kode kontrol.

Listen()

Socket Places dalam keadaan mendengarkan.

Listen(Int32)

Socket Places dalam keadaan mendengarkan.

MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
Poll(Int32, SelectMode)

Menentukan status Socket.

Poll(TimeSpan, SelectMode)

Menentukan status Socket.

Receive(Byte[])

Menerima data dari terikat Socket ke dalam buffer penerima.

Receive(Byte[], Int32, Int32, SocketFlags)

Menerima jumlah byte yang ditentukan dari terikat Socket ke dalam posisi offset yang ditentukan dari buffer penerima, menggunakan yang ditentukan SocketFlags.

Receive(Byte[], Int32, Int32, SocketFlags, SocketError)

Menerima data dari terikat Socket ke dalam buffer penerima, menggunakan SocketFlags.

Receive(Byte[], Int32, SocketFlags)

Menerima jumlah byte data yang ditentukan dari terikat Socket ke dalam buffer penerima, menggunakan SocketFlags.

Receive(Byte[], SocketFlags)

Menerima data dari terikat Socket ke dalam buffer penerima, menggunakan SocketFlags.

Receive(IList<ArraySegment<Byte>>)

Menerima data dari terikat Socket ke dalam daftar buffer penerima.

Receive(IList<ArraySegment<Byte>>, SocketFlags)

Menerima data dari terikat Socket ke dalam daftar buffer penerima, menggunakan yang ditentukan SocketFlags.

Receive(IList<ArraySegment<Byte>>, SocketFlags, SocketError)

Menerima data dari terikat Socket ke dalam daftar buffer penerima, menggunakan yang ditentukan SocketFlags.

Receive(Span<Byte>)

Menerima data dari terikat Socket ke dalam buffer penerima.

Receive(Span<Byte>, SocketFlags)

Menerima data dari terikat Socket ke dalam buffer penerima, menggunakan SocketFlags.

Receive(Span<Byte>, SocketFlags, SocketError)

Menerima data dari terikat Socket ke dalam buffer penerima, menggunakan SocketFlags.

ReceiveAsync(ArraySegment<Byte>)

Menerima data dari soket yang tersambung.

ReceiveAsync(ArraySegment<Byte>, SocketFlags)

Menerima data dari soket yang tersambung.

ReceiveAsync(IList<ArraySegment<Byte>>)

Menerima data dari soket yang tersambung.

ReceiveAsync(IList<ArraySegment<Byte>>, SocketFlags)

Menerima data dari soket yang tersambung.

ReceiveAsync(Memory<Byte>, CancellationToken)

Menerima data dari soket yang tersambung.

ReceiveAsync(Memory<Byte>, SocketFlags, CancellationToken)

Menerima data dari soket yang tersambung.

ReceiveAsync(SocketAsyncEventArgs)

Memulai permintaan asinkron untuk menerima data dari objek yang tersambung Socket .

ReceiveFrom(Byte[], EndPoint)

Menerima datagram ke dalam buffer data dan menyimpan titik akhir.

ReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint)

Menerima jumlah byte data yang ditentukan ke lokasi buffer data yang ditentukan, menggunakan SocketFlags, dan menyimpan titik akhir.

ReceiveFrom(Byte[], Int32, SocketFlags, EndPoint)

Menerima jumlah byte yang ditentukan ke dalam buffer data, menggunakan , dan menyimpan titik akhir yang ditentukan SocketFlags.

ReceiveFrom(Byte[], SocketFlags, EndPoint)

Menerima datagram ke dalam buffer data, menggunakan , dan menyimpan titik akhir yang ditentukan SocketFlags.

ReceiveFrom(Span<Byte>, EndPoint)

Menerima datagram ke dalam buffer data dan menyimpan titik akhir.

ReceiveFrom(Span<Byte>, SocketFlags, EndPoint)

Menerima datagram ke dalam buffer data, menggunakan , dan menyimpan titik akhir yang ditentukan SocketFlags.

ReceiveFrom(Span<Byte>, SocketFlags, SocketAddress)

Menerima datagram ke dalam buffer data, menggunakan , dan menyimpan titik akhir yang ditentukan SocketFlags.

ReceiveFromAsync(ArraySegment<Byte>, EndPoint)

Menerima data dan mengembalikan titik akhir host pengirim.

ReceiveFromAsync(ArraySegment<Byte>, SocketFlags, EndPoint)

Menerima data dan mengembalikan titik akhir host pengirim.

ReceiveFromAsync(Memory<Byte>, EndPoint, CancellationToken)

Menerima data dan mengembalikan titik akhir host pengirim.

ReceiveFromAsync(Memory<Byte>, SocketFlags, EndPoint, CancellationToken)

Menerima data dan mengembalikan titik akhir host pengirim.

ReceiveFromAsync(Memory<Byte>, SocketFlags, SocketAddress, CancellationToken)

Menerima datagram ke dalam buffer data, menggunakan , dan menyimpan titik akhir yang ditentukan SocketFlags.

ReceiveFromAsync(SocketAsyncEventArgs)

Mulai menerima data secara asinkron dari perangkat jaringan tertentu.

ReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, IPPacketInformation)

Menerima jumlah byte data yang ditentukan ke lokasi buffer data yang ditentukan, menggunakan SocketFlags, dan menyimpan titik akhir dan informasi paket.

ReceiveMessageFrom(Span<Byte>, SocketFlags, EndPoint, IPPacketInformation)

Menerima jumlah byte data yang ditentukan ke lokasi buffer data yang ditentukan, menggunakan socketFlags, dan menyimpan titik akhir dan informasi paket.

ReceiveMessageFromAsync(ArraySegment<Byte>, EndPoint)

Menerima data dan mengembalikan informasi tambahan tentang pengirim pesan.

ReceiveMessageFromAsync(ArraySegment<Byte>, SocketFlags, EndPoint)

Menerima data dan mengembalikan informasi tambahan tentang pengirim pesan.

ReceiveMessageFromAsync(Memory<Byte>, EndPoint, CancellationToken)

Menerima data dan mengembalikan informasi tambahan tentang pengirim pesan.

ReceiveMessageFromAsync(Memory<Byte>, SocketFlags, EndPoint, CancellationToken)

Menerima data dan mengembalikan informasi tambahan tentang pengirim pesan.

ReceiveMessageFromAsync(SocketAsyncEventArgs)

Mulai secara asinkron menerima jumlah byte data yang ditentukan ke lokasi yang ditentukan dalam buffer data, menggunakan SocketFlags, dan menyimpan titik akhir dan informasi paket.

Select(IList, IList, IList, Int32)

Menentukan status satu atau beberapa soket.

Select(IList, IList, IList, TimeSpan)

Menentukan status satu atau beberapa soket.

Send(Byte[])

Mengirim data ke yang tersambung Socket.

Send(Byte[], Int32, Int32, SocketFlags)

Mengirim jumlah byte data yang ditentukan ke yang tersambung Socket, dimulai dari offset yang ditentukan, dan menggunakan yang ditentukan SocketFlags.

Send(Byte[], Int32, Int32, SocketFlags, SocketError)

Mengirim jumlah byte data yang ditentukan ke yang tersambung Socket, dimulai dari offset yang ditentukan, dan menggunakan yang ditentukan SocketFlags.

Send(Byte[], Int32, SocketFlags)

Mengirim jumlah byte data yang ditentukan ke yang tersambung Socket, menggunakan yang ditentukan SocketFlags.

Send(Byte[], SocketFlags)

Mengirim data ke tersambung Socket menggunakan yang ditentukan SocketFlags.

Send(IList<ArraySegment<Byte>>)

Mengirim set buffer dalam daftar ke tersambung Socket.

Send(IList<ArraySegment<Byte>>, SocketFlags)

Mengirim set buffer dalam daftar ke tersambung Socket, menggunakan yang ditentukan SocketFlags.

Send(IList<ArraySegment<Byte>>, SocketFlags, SocketError)

Mengirim set buffer dalam daftar ke tersambung Socket, menggunakan yang ditentukan SocketFlags.

Send(ReadOnlySpan<Byte>)

Mengirim data ke yang tersambung Socket.

Send(ReadOnlySpan<Byte>, SocketFlags)

Mengirim data ke tersambung Socket menggunakan yang ditentukan SocketFlags.

Send(ReadOnlySpan<Byte>, SocketFlags, SocketError)

Mengirim data ke tersambung Socket menggunakan yang ditentukan SocketFlags.

SendAsync(ArraySegment<Byte>)

Mengirim data pada soket yang tersambung.

SendAsync(ArraySegment<Byte>, SocketFlags)

Mengirim data pada soket yang tersambung.

SendAsync(IList<ArraySegment<Byte>>)

Mengirim data pada soket yang tersambung.

SendAsync(IList<ArraySegment<Byte>>, SocketFlags)

Mengirim data pada soket yang tersambung.

SendAsync(ReadOnlyMemory<Byte>, CancellationToken)

Mengirim data pada soket yang tersambung.

SendAsync(ReadOnlyMemory<Byte>, SocketFlags, CancellationToken)

Mengirim data pada soket yang tersambung.

SendAsync(SocketAsyncEventArgs)

Mengirim data secara asinkron ke objek yang tersambung Socket .

SendFile(String)

Mengirim file fileName ke objek yang tersambung Socket dengan UseDefaultWorkerThread bendera transmisi.

SendFile(String, Byte[], Byte[], TransmitFileOptions)

Mengirim file fileName dan buffer data ke objek tersambung Socket menggunakan nilai yang ditentukan TransmitFileOptions .

SendFile(String, ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, TransmitFileOptions)

Mengirim file fileName dan buffer data ke objek tersambung Socket menggunakan nilai yang ditentukan TransmitFileOptions .

SendFileAsync(String, CancellationToken)

Mengirim file fileName ke objek yang tersambung Socket .

SendFileAsync(String, ReadOnlyMemory<Byte>, ReadOnlyMemory<Byte>, TransmitFileOptions, CancellationToken)

Mengirim file fileName dan buffer data ke objek tersambung Socket menggunakan nilai yang ditentukan TransmitFileOptions .

SendPacketsAsync(SocketAsyncEventArgs)

Mengirim kumpulan file atau dalam buffer data memori secara asinkron ke objek yang tersambung Socket .

SendTo(Byte[], EndPoint)

Mengirim data ke titik akhir yang ditentukan.

SendTo(Byte[], Int32, Int32, SocketFlags, EndPoint)

Mengirim jumlah byte data yang ditentukan ke titik akhir yang ditentukan, dimulai dari lokasi yang ditentukan di buffer, dan menggunakan yang ditentukan SocketFlags.

SendTo(Byte[], Int32, SocketFlags, EndPoint)

Mengirim jumlah byte data yang ditentukan ke titik akhir yang ditentukan menggunakan yang ditentukan SocketFlags.

SendTo(Byte[], SocketFlags, EndPoint)

Mengirim data ke titik akhir tertentu menggunakan SocketFlags.

SendTo(ReadOnlySpan<Byte>, EndPoint)

Mengirim data ke titik akhir yang ditentukan.

SendTo(ReadOnlySpan<Byte>, SocketFlags, EndPoint)

Mengirim data ke titik akhir tertentu menggunakan SocketFlags.

SendTo(ReadOnlySpan<Byte>, SocketFlags, SocketAddress)

Mengirim data ke titik akhir tertentu menggunakan SocketFlags.

SendToAsync(ArraySegment<Byte>, EndPoint)

Mengirim data ke host jarak jauh yang ditentukan.

SendToAsync(ArraySegment<Byte>, SocketFlags, EndPoint)

Mengirim data ke host jarak jauh yang ditentukan.

SendToAsync(ReadOnlyMemory<Byte>, EndPoint, CancellationToken)

Mengirim data ke host jarak jauh yang ditentukan.

SendToAsync(ReadOnlyMemory<Byte>, SocketFlags, EndPoint, CancellationToken)

Mengirim data ke host jarak jauh yang ditentukan.

SendToAsync(ReadOnlyMemory<Byte>, SocketFlags, SocketAddress, CancellationToken)

Mengirim data ke titik akhir tertentu menggunakan SocketFlags.

SendToAsync(SocketAsyncEventArgs)

Mengirim data secara asinkron ke host jarak jauh tertentu.

SetIPProtectionLevel(IPProtectionLevel)

Mengatur tingkat perlindungan IP pada soket.

SetRawSocketOption(Int32, Int32, ReadOnlySpan<Byte>)

Mengatur nilai opsi soket menggunakan tingkat khusus platform dan pengidentifikasi nama.

SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean)

Mengatur opsi yang ditentukan Socket ke nilai yang ditentukan Boolean .

SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])

Mengatur opsi yang ditentukan Socket ke nilai yang ditentukan, yang direpresentasikan sebagai array byte.

SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)

Mengatur opsi yang ditentukan Socket ke nilai bilangan bulat yang ditentukan.

SetSocketOption(SocketOptionLevel, SocketOptionName, Object)

Mengatur opsi yang ditentukan Socket ke nilai yang ditentukan, yang direpresentasikan sebagai objek.

Shutdown(SocketShutdown)

Menonaktifkan pengiriman dan penerimaan pada Socket.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Implementasi Antarmuka Eksplisit

IDisposable.Dispose()

API ini mendukung infrastruktur produk dan tidak dimaksudkan untuk digunakan langsung dari kode Anda.

Merilis semua sumber daya yang Socketdigunakan oleh .

Metode Ekstensi

AcceptAsync(Socket)

Melakukan operasi asinkron pada untuk menerima upaya koneksi masuk pada soket.

AcceptAsync(Socket, Socket)

Melakukan operasi asinkron pada untuk menerima upaya koneksi masuk pada soket.

ConnectAsync(Socket, EndPoint)

Membuat koneksi ke host jarak jauh.

ConnectAsync(Socket, EndPoint, CancellationToken)

Membuat koneksi ke host jarak jauh.

ConnectAsync(Socket, IPAddress, Int32)

Membuat koneksi ke host jarak jauh. Host ditentukan oleh alamat IP dan nomor port.

ConnectAsync(Socket, IPAddress, Int32, CancellationToken)

Membuat koneksi ke host jarak jauh, yang ditentukan oleh alamat IP dan nomor port.

ConnectAsync(Socket, IPAddress[], Int32)

Membuat koneksi ke host jarak jauh. Host ditentukan oleh array alamat IP dan nomor port.

ConnectAsync(Socket, IPAddress[], Int32, CancellationToken)

Membuat koneksi ke host jarak jauh, yang ditentukan oleh array alamat IP dan nomor port.

ConnectAsync(Socket, String, Int32)

Membuat koneksi ke host jarak jauh. Host ditentukan oleh nama host dan nomor port.

ConnectAsync(Socket, String, Int32, CancellationToken)

Membuat koneksi ke host jarak jauh, yang ditentukan oleh nama host dan nomor port.

ReceiveAsync(Socket, ArraySegment<Byte>, SocketFlags)

Menerima data dari soket yang tersambung.

ReceiveAsync(Socket, IList<ArraySegment<Byte>>, SocketFlags)

Menerima data dari soket yang tersambung.

ReceiveAsync(Socket, Memory<Byte>, SocketFlags, CancellationToken)

Menerima data dari soket yang tersambung.

ReceiveFromAsync(Socket, ArraySegment<Byte>, SocketFlags, EndPoint)

Menerima data dari perangkat jaringan tertentu.

ReceiveMessageFromAsync(Socket, ArraySegment<Byte>, SocketFlags, EndPoint)

Menerima jumlah byte data yang ditentukan ke lokasi buffer data yang ditentukan, menggunakan SocketFlags, dan menyimpan titik akhir dan informasi paket.

SendAsync(Socket, ArraySegment<Byte>, SocketFlags)

Mengirim data ke soket yang tersambung.

SendAsync(Socket, IList<ArraySegment<Byte>>, SocketFlags)

Mengirim data ke soket yang tersambung.

SendAsync(Socket, ReadOnlyMemory<Byte>, SocketFlags, CancellationToken)

Mengirim data ke soket yang tersambung.

SendToAsync(Socket, ArraySegment<Byte>, SocketFlags, EndPoint)

Mengirim data secara asinkron ke host jarak jauh tertentu.

Berlaku untuk

Keamanan Thread

Aman untuk melakukan operasi kirim dan terima secara bersamaan pada Socket instans, tetapi tidak disarankan untuk mengeluarkan beberapa panggilan kirim atau beberapa penerima secara bersamaan. Tergantung pada implementasi platform yang mendasar, ini dapat menyebabkan data yang tidak diinginkan diselingi untuk pengiriman atau penerimaan multi-buffer besar atau multi-buffer.

Lihat juga