Aracılığıyla paylaş


Socket Sınıf

Tanım

Berkeley yuva arabirimini uygular.

public ref class Socket : IDisposable
public class Socket : IDisposable
type Socket = class
    interface IDisposable
Public Class Socket
Implements IDisposable
Devralma
Socket
Uygulamalar

Örnekler

Aşağıdaki örnekte sınıfın Socket , standart çıktıya ASCII yanıtı yazdırarak bir HTTP sunucusuna veri göndermek için nasıl kullanılabileceğini gösterir. Bu örnek, sayfanın tamamı alınana kadar çağıran iş parçacığını engeller.

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);
    }
}

Sonraki örnek, Görev tabanlı zaman uyumsuz API'leri kullanarak aynı HTTP GET senaryoyu gösterirken, zaman uyumsuz yöntemlere de bir CancellationToken ileterek işlemin tamamını iptal edilebilir hale getirir.

İpucu

Socket'nin bir almayan CancellationToken zaman uyumsuz yöntemleri genellikle yığında ayrılan bir Taskdöndürür. İptal edilebilir aşırı yüklemeler her zaman ValueTaskgeri döner; bunların kullanılması yüksek performanslı koddaki ayırmaların azaltılmasına yardımcı olur.

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);
    }
}

Açıklamalar

Bu API hakkında daha fazla bilgi için bkz . Yuva için ek API açıklamaları.

Oluşturucular

Socket(AddressFamily, SocketType, ProtocolType)

Belirtilen adres ailesi, yuva türü ve protokolü kullanarak sınıfının yeni bir örneğini Socket başlatır.

Socket(SafeSocketHandle)

Belirtilen yuva tanıtıcısı için sınıfının yeni bir örneğini Socket başlatır.

Socket(SocketInformation)

öğesinden DuplicateAndClose(Int32)döndürülen belirtilen değeri kullanarak sınıfının yeni bir örneğini Socket başlatır.

Socket(SocketType, ProtocolType)

Belirtilen yuva türünü ve protokolü kullanarak sınıfın yeni bir örneğini Socket başlatır. İşletim sistemi IPv6'yı destekliyorsa, bu oluşturucu çift modlu bir yuva oluşturur; aksi takdirde, bir IPv4 yuvası oluşturur.

Özellikler

AddressFamily

adresinin adres ailesini Socketalır.

Available

Ağdan alınan ve okunabilecek veri miktarını alır.

Blocking

öğesinin engelleme modunda olup olmadığını Socket belirten bir değer alır veya ayarlar.

Connected

son veya Receive işlem itibarıyla Send bir Socket uzak konağa bağlı olup olmadığını gösteren bir değer alır.

DontFragment

İnternet Protokolü (IP) veri birimlerinin Socket parçalanıp parçalanmadığını belirten bir değer alır veya ayarlar.

DualMode

hem IPv4 hem de IPv6 için kullanılan çift modlu bir yuva olup olmadığını Socket belirten bir değer alır veya ayarlar.

EnableBroadcast

yayın paketlerini gönderip gönderemeyeceğini belirten Socket bir Boolean değer alır veya ayarlar.

ExclusiveAddressUse

yalnızca bir işlemin bağlantı Boolean noktasına bağlanmasına Socket izin verip vermediğini belirten bir değer alır veya ayarlar.

Handle

için işletim sistemi tanıtıcısını Socketalır.

IsBound

öğesinin belirli bir yerel bağlantı noktasına bağlı olup olmadığını Socket gösteren bir değer alır.

LingerState

Bekleyen tüm verileri gönderme girişiminde yuvanın kapatılmasını Socket geciktirip geciktirmeyeceğini belirten bir değer alır veya ayarlar.

LocalEndPoint

Yerel uç noktayı alır.

MulticastLoopback

Giden çok noktaya yayın paketlerinin gönderen uygulamaya teslim edilip edilmeyeceğini belirten bir değer alır veya ayarlar.

NoDelay

Akışın Socket Nagle algoritmasını kullanıp kullanmadığını belirten bir Boolean değer alır veya ayarlar.

OSSupportsIPv4

Temel işletim sisteminin ve ağ bağdaştırıcılarının İnternet Protokolü sürüm 4'ünü (IPv4) destekleyip desteklemediğini gösterir.

OSSupportsIPv6

Temel işletim sisteminin ve ağ bağdaştırıcılarının İnternet Protokolü sürüm 6 'yi (IPv6) destekleyip desteklemediğini gösterir.

OSSupportsUnixDomainSockets

Temel işletim sisteminin Unix etki alanı yuvalarını destekleyip desteklemediğini gösterir.

ProtocolType

protokol türünü Socketalır.

ReceiveBufferSize

alma arabelleğinin Socketboyutunu belirten bir değeri alır veya ayarlar.

ReceiveTimeout

Zaman uyumlu Receive çağrının zaman aşımına uyacağını belirten bir değer alır veya ayarlar.

RemoteEndPoint

Uzak uç noktayı alır.

SafeHandle

Geçerli Socket nesnenin kapsüllediğini yuva tutamacını temsil eden bir SafeSocketHandle alır.

SendBufferSize

öğesinin gönderme arabelleğinin Socketboyutunu belirten bir değeri alır veya ayarlar.

SendTimeout

Zaman uyumlu Send çağrının zaman aşımına uyacağını belirten bir değer alır veya ayarlar.

SocketType

türünü Socketalır.

SupportsIPv4
Geçersiz.
Geçersiz.
Geçersiz.

Geçerli konakta IPv4 desteğinin kullanılabilir ve etkin olup olmadığını gösteren bir değer alır.

SupportsIPv6
Geçersiz.
Geçersiz.
Geçersiz.

Framework'ün bazı eski Dns üyeler için IPv6'yi destekleyip desteklemediğini gösteren bir değer alır.

Ttl

tarafından Socketgönderilen İnternet Protokolü (IP) paketlerinin Yaşam Süresi (TTL) değerini belirten bir değer alır veya ayarlar.

UseOnlyOverlappedIO
Geçersiz.

Yuvanın yalnızca Çakışan G/Ç modunu kullanıp kullanmayacağını belirten bir değer alır veya ayarlar. .NET 5+ üzerinde (.NET Core sürümleri dahil), değer her zaman falseşeklindedir.

Yöntemler

Accept()

Yeni oluşturulan bağlantı için yeni Socket bir oluşturur.

AcceptAsync()

Gelen bağlantıyı kabul eder.

AcceptAsync(CancellationToken)

Gelen bağlantıyı kabul eder.

AcceptAsync(Socket)

Gelen bağlantıyı kabul eder.

AcceptAsync(Socket, CancellationToken)

Gelen bağlantıyı kabul eder.

AcceptAsync(SocketAsyncEventArgs)

Gelen bağlantı girişimini kabul etmek için zaman uyumsuz bir işlem başlatır.

BeginAccept(AsyncCallback, Object)

Gelen bağlantı girişimini kabul etmek için zaman uyumsuz bir işlem başlatır.

BeginAccept(Int32, AsyncCallback, Object)

Gelen bağlantı girişimini kabul etmek için zaman uyumsuz bir işlem başlatır ve istemci uygulaması tarafından gönderilen ilk veri bloğunu alır.

BeginAccept(Socket, Int32, AsyncCallback, Object)

Belirtilen yuvadan gelen bağlantı girişimini kabul etmek için zaman uyumsuz bir işlem başlatır ve istemci uygulaması tarafından gönderilen ilk veri bloğunu alır.

BeginConnect(EndPoint, AsyncCallback, Object)

Uzak konak bağlantısı için zaman uyumsuz bir istek başlatır.

BeginConnect(IPAddress, Int32, AsyncCallback, Object)

Uzak konak bağlantısı için zaman uyumsuz bir istek başlatır. Konak bir ve bağlantı noktası numarası ile IPAddress belirtilir.

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

Uzak konak bağlantısı için zaman uyumsuz bir istek başlatır. Konak bir IPAddress dizi ve bağlantı noktası numarası ile belirtilir.

BeginConnect(String, Int32, AsyncCallback, Object)

Uzak konak bağlantısı için zaman uyumsuz bir istek başlatır. Konak, bir ana bilgisayar adı ve bağlantı noktası numarası ile belirtilir.

BeginDisconnect(Boolean, AsyncCallback, Object)

Uzak uç nokta bağlantısını kesmek için zaman uyumsuz bir istek başlatır.

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

Bağlı Socketbir 'den zaman uyumsuz olarak veri almaya başlar.

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

Bağlı Socketbir 'den zaman uyumsuz olarak veri almaya başlar.

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

Bağlı Socketbir 'den zaman uyumsuz olarak veri almaya başlar.

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

Bağlı Socketbir 'den zaman uyumsuz olarak veri almaya başlar.

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

Belirtilen ağ cihazından zaman uyumsuz olarak veri almaya başlar.

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

Belirtilen sayıda veriyi veri arabelleğinin SocketFlagsbelirtilen konumuna zaman uyumsuz olarak almaya başlar ve uç nokta ile paket bilgilerini depolar.

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

Verileri bağlı Socketbir öğesine zaman uyumsuz olarak gönderir.

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

Verileri bağlı Socketbir öğesine zaman uyumsuz olarak gönderir.

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

Verileri bağlı Socketbir öğesine zaman uyumsuz olarak gönderir.

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

Verileri bağlı Socketbir öğesine zaman uyumsuz olarak gönderir.

BeginSendFile(String, AsyncCallback, Object)

bayrağını kullanarak dosyayı fileName bağlı Socket bir nesneye UseDefaultWorkerThread gönderir.

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

Bağlı Socket bir nesneye zaman uyumsuz olarak bir dosya ve veri arabellekleri gönderir.

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

Verileri belirli bir uzak konağa zaman uyumsuz olarak gönderir.

Bind(EndPoint)

bir Socket öğesini yerel uç noktayla ilişkilendirir.

CancelConnectAsync(SocketAsyncEventArgs)

Uzak konak bağlantısı için zaman uyumsuz isteği iptal eder.

Close()

Socket Bağlantıyı kapatır ve ilişkili tüm kaynakları serbest bırakır.

Close(Int32)

Socket Bağlantıyı kapatır ve kuyruğa alınan verilerin gönderilmesine izin vermek için belirtilen zaman aşımına sahip tüm ilişkili kaynakları serbest bırakır.

Connect(EndPoint)

Uzak bir konakla bağlantı kurar.

Connect(IPAddress, Int32)

Uzak bir konakla bağlantı kurar. Ana bilgisayar bir IP adresi ve bağlantı noktası numarası ile belirtilir.

Connect(IPAddress[], Int32)

Uzak bir konakla bağlantı kurar. Ana bilgisayar bir IP adresleri dizisi ve bir bağlantı noktası numarası ile belirtilir.

Connect(String, Int32)

Uzak bir konakla bağlantı kurar. Konak, bir ana bilgisayar adı ve bağlantı noktası numarası ile belirtilir.

ConnectAsync(EndPoint)

Uzak bir konakla bağlantı kurar.

ConnectAsync(EndPoint, CancellationToken)

Uzak bir konakla bağlantı kurar.

ConnectAsync(IPAddress, Int32)

Uzak bir konakla bağlantı kurar.

ConnectAsync(IPAddress, Int32, CancellationToken)

Uzak bir konakla bağlantı kurar.

ConnectAsync(IPAddress[], Int32)

Uzak bir konakla bağlantı kurar.

ConnectAsync(IPAddress[], Int32, CancellationToken)

Uzak bir konakla bağlantı kurar.

ConnectAsync(SocketAsyncEventArgs)

Uzak ana bilgisayara bağlantı için zaman uyumsuz bir istek başlatır.

ConnectAsync(SocketType, ProtocolType, SocketAsyncEventArgs)

Uzak ana bilgisayara bağlantı için zaman uyumsuz bir istek başlatır.

ConnectAsync(String, Int32)

Uzak bir konakla bağlantı kurar.

ConnectAsync(String, Int32, CancellationToken)

Uzak bir konakla bağlantı kurar.

Disconnect(Boolean)

Yuva bağlantısını kapatır ve yuvanın yeniden kullanılmasına izin verir.

DisconnectAsync(Boolean, CancellationToken)

Bağlı yuvanın uzak ana bilgisayarla bağlantısını keser.

DisconnectAsync(SocketAsyncEventArgs)

Uzak uç nokta bağlantısını kesmek için zaman uyumsuz bir istek başlatır.

Dispose()

Socket sınıfının geçerli örneği tarafından kullanılan tüm kaynakları serbest bırakır.

Dispose(Boolean)

tarafından Socketkullanılan yönetilmeyen kaynakları serbest bırakır ve isteğe bağlı olarak yönetilen kaynakları atılır.

DuplicateAndClose(Int32)

Hedef işlem için yuva başvuruyu yineler ve bu işlem için yuvayı kapatır.

EndAccept(Byte[], IAsyncResult)

Zaman uyumsuz olarak gelen bağlantı girişimini kabul eder ve uzak konak iletişimlerini işlemek için yeni Socket bir nesne oluşturur. Bu yöntem, aktarılan ilk verileri içeren bir arabellek döndürür.

EndAccept(Byte[], Int32, IAsyncResult)

Zaman uyumsuz olarak gelen bağlantı girişimini kabul eder ve uzak konak iletişimlerini işlemek için yeni Socket bir nesne oluşturur. Bu yöntem, ilk verileri ve aktarılan bayt sayısını içeren bir arabellek döndürür.

EndAccept(IAsyncResult)

Zaman uyumsuz olarak gelen bir bağlantı girişimini kabul eder ve uzak konak iletişimlerini işlemek için yeni Socket bir oluşturur.

EndConnect(IAsyncResult)

Bekleyen zaman uyumsuz bağlantı isteğini sonlandırır.

EndDisconnect(IAsyncResult)

Bekleyen zaman uyumsuz bağlantı kesme isteğini sonlandırır.

EndReceive(IAsyncResult)

Bekleyen zaman uyumsuz okumayı sonlandırır.

EndReceive(IAsyncResult, SocketError)

Bekleyen zaman uyumsuz okumayı sonlandırır.

EndReceiveFrom(IAsyncResult, EndPoint)

Belirli bir uç noktadan bekleyen zaman uyumsuz okumayı sonlandırır.

EndReceiveMessageFrom(IAsyncResult, SocketFlags, EndPoint, IPPacketInformation)

Belirli bir uç noktadan bekleyen zaman uyumsuz okumayı sonlandırır. Bu yöntem, paket hakkında değerinden EndReceiveFrom(IAsyncResult, EndPoint)daha fazla bilgi de gösterir.

EndSend(IAsyncResult)

Bekleyen zaman uyumsuz göndermeyi sonlandırır.

EndSend(IAsyncResult, SocketError)

Bekleyen zaman uyumsuz göndermeyi sonlandırır.

EndSendFile(IAsyncResult)

Bir dosyanın zaman uyumsuz gönderilmesini beklerken sona erer.

EndSendTo(IAsyncResult)

Belirli bir konuma bekleyen zaman uyumsuz göndermeyi sonlandırır.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
Finalize()

Sınıfı tarafından Socket kullanılan kaynakları serbesttir.

GetHashCode()

Bir örnek için Socket karma değeri döndürür.

GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetRawSocketOption(Int32, Int32, Span<Byte>)

Platforma özgü düzey ve ad tanımlayıcılarını kullanarak yuva seçeneği değerini alır.

GetSocketOption(SocketOptionLevel, SocketOptionName)

Nesne olarak temsil edilen belirtilen Socket seçeneğin değerini döndürür.

GetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])

Bayt dizisi olarak gösterilen belirtilen Socket seçenek ayarını döndürür.

GetSocketOption(SocketOptionLevel, SocketOptionName, Int32)

Bir dizide belirtilen Socket seçeneğin değerini döndürür.

GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
IOControl(Int32, Byte[], Byte[])

Sayısal denetim kodlarının kullanılması için Socket alt düzey çalışma modlarını ayarlar.

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

Denetim kodlarını belirtmek üzere numaralandırmayı SocketIOControlCode kullanmak için alt düzey işletim modlarını ayarlar.

Listen()

Dinleme durumunda bir Socket Places.

Listen(Int32)

Dinleme durumunda bir Socket Places.

MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
Poll(Int32, SelectMode)

durumunu Socketbelirler.

Poll(TimeSpan, SelectMode)

durumunu Socketbelirler.

Receive(Byte[])

Bir sınırdan Socket alma arabelleğine veri alır.

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

Belirtilen bayt sayısını, belirtilen kullanarak bir sınırdan Socket alma arabelleğinin belirtilen uzaklık konumuna SocketFlagsalır.

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

Belirtilen SocketFlagskullanarak bir ilişkiliden Socket alma arabelleğine veri alır.

Receive(Byte[], Int32, SocketFlags)

Belirtilen değerini kullanarak SocketFlagsbir sınırdan Socket alma arabelleğine belirtilen sayıda veri alır.

Receive(Byte[], SocketFlags)

Belirtilen SocketFlagskullanarak bir ilişkiliden Socket alma arabelleğine veri alır.

Receive(IList<ArraySegment<Byte>>)

Bir sınırdan Socket alma arabellekleri listesine veri alır.

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

Belirtilen SocketFlagskullanarak, bir sınırdan Socket alma arabellekleri listesine veri alır.

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

Belirtilen SocketFlagskullanarak, bir sınırdan Socket alma arabellekleri listesine veri alır.

Receive(Span<Byte>)

Bir sınırdan Socket alma arabelleğine veri alır.

Receive(Span<Byte>, SocketFlags)

Belirtilen SocketFlagskullanarak bir ilişkiliden Socket alma arabelleğine veri alır.

Receive(Span<Byte>, SocketFlags, SocketError)

Belirtilen SocketFlagskullanarak bir ilişkiliden Socket alma arabelleğine veri alır.

ReceiveAsync(ArraySegment<Byte>)

Bağlı bir yuvadan veri alır.

ReceiveAsync(ArraySegment<Byte>, SocketFlags)

Bağlı bir yuvadan veri alır.

ReceiveAsync(IList<ArraySegment<Byte>>)

Bağlı bir yuvadan veri alır.

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

Bağlı bir yuvadan veri alır.

ReceiveAsync(Memory<Byte>, CancellationToken)

Bağlı bir yuvadan veri alır.

ReceiveAsync(Memory<Byte>, SocketFlags, CancellationToken)

Bağlı bir yuvadan veri alır.

ReceiveAsync(SocketAsyncEventArgs)

Bağlı Socket bir nesneden veri almak için zaman uyumsuz bir istek başlatır.

ReceiveFrom(Byte[], EndPoint)

Veri arabelleğine bir veri birimi alır ve uç noktayı depolar.

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

Belirtilen bayt sayısını veri arabelleğinin SocketFlagsbelirtilen konumuna alır ve uç noktayı depolar.

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

Belirtilen bayt sayısını belirtilen kullanarak veri arabelleğine SocketFlagsalır ve uç noktayı depolar.

ReceiveFrom(Byte[], SocketFlags, EndPoint)

Belirtilen SocketFlagsöğesini kullanarak veri arabelleğine bir veri birimi alır ve uç noktayı depolar.

ReceiveFrom(Span<Byte>, EndPoint)

Veri arabelleğine bir veri birimi alır ve uç noktayı depolar.

ReceiveFrom(Span<Byte>, SocketFlags, EndPoint)

Belirtilen SocketFlagsöğesini kullanarak veri arabelleğine bir veri birimi alır ve uç noktayı depolar.

ReceiveFrom(Span<Byte>, SocketFlags, SocketAddress)

Belirtilen SocketFlagsöğesini kullanarak veri arabelleğine bir veri birimi alır ve uç noktayı depolar.

ReceiveFromAsync(ArraySegment<Byte>, EndPoint)

Verileri alır ve gönderen konağın uç noktasını döndürür.

ReceiveFromAsync(ArraySegment<Byte>, SocketFlags, EndPoint)

Verileri alır ve gönderen konağın uç noktasını döndürür.

ReceiveFromAsync(Memory<Byte>, EndPoint, CancellationToken)

Verileri alır ve gönderen konağın uç noktasını döndürür.

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

Verileri alır ve gönderen konağın uç noktasını döndürür.

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

Belirtilen SocketFlagsöğesini kullanarak veri arabelleğine bir veri birimi alır ve uç noktayı depolar.

ReceiveFromAsync(SocketAsyncEventArgs)

Belirtilen ağ cihazından zaman uyumsuz olarak veri almaya başlar.

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

Belirtilen bayt sayısını veri arabelleğinin belirtilen konumuna alır ve SocketFlagsuç nokta ile paket bilgilerini depolar.

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

Belirtilen bayt sayısını veri arabelleğinin belirtilen konumuna alır ve socketFlagsuç nokta ile paket bilgilerini depolar.

ReceiveMessageFromAsync(ArraySegment<Byte>, EndPoint)

Verileri alır ve iletinin göndereni hakkında ek bilgiler döndürür.

ReceiveMessageFromAsync(ArraySegment<Byte>, SocketFlags, EndPoint)

Verileri alır ve iletinin göndereni hakkında ek bilgiler döndürür.

ReceiveMessageFromAsync(Memory<Byte>, EndPoint, CancellationToken)

Verileri alır ve iletinin göndereni hakkında ek bilgiler döndürür.

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

Verileri alır ve iletinin göndereni hakkında ek bilgiler döndürür.

ReceiveMessageFromAsync(SocketAsyncEventArgs)

Belirtilen sayıda veriyi veri arabelleğindeki SocketFlagsbelirtilen konuma zaman uyumsuz olarak almaya başlar ve uç nokta ile paket bilgilerini depolar.

Select(IList, IList, IList, Int32)

Bir veya daha fazla yuvanın durumunu belirler.

Select(IList, IList, IList, TimeSpan)

Bir veya daha fazla yuvanın durumunu belirler.

Send(Byte[])

Bağlı Socketbir öğesine veri gönderir.

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

Belirtilen sayıda veri baytını, belirtilen uzaklıkta başlayıp belirtilen SocketFlagsdeğerini kullanarak bağlı Socketbir öğesine gönderir.

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

Belirtilen sayıda veri baytını, belirtilen uzaklıkta başlayıp belirtilen SocketFlagsdeğerini kullanarak bağlı Socketbir öğesine gönderir.

Send(Byte[], Int32, SocketFlags)

Belirtilen sayıda veriyi, belirtilen SocketFlagskullanarak bağlı Socketbir öğesine gönderir.

Send(Byte[], SocketFlags)

Belirtilen SocketFlagskullanarak bağlı Socket bir öğesine veri gönderir.

Send(IList<ArraySegment<Byte>>)

Listedeki arabellek kümesini bağlı Socketbir öğesine gönderir.

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

Listedeki arabellek kümesini, belirtilen SocketFlagskullanarak bağlı Socketbir öğesine gönderir.

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

Listedeki arabellek kümesini, belirtilen SocketFlagskullanarak bağlı Socketbir öğesine gönderir.

Send(ReadOnlySpan<Byte>)

Bağlı Socketbir öğesine veri gönderir.

Send(ReadOnlySpan<Byte>, SocketFlags)

Belirtilen SocketFlagskullanarak bağlı Socket bir öğesine veri gönderir.

Send(ReadOnlySpan<Byte>, SocketFlags, SocketError)

Belirtilen SocketFlagskullanarak bağlı Socket bir öğesine veri gönderir.

SendAsync(ArraySegment<Byte>)

Bağlı bir yuvaya veri gönderir.

SendAsync(ArraySegment<Byte>, SocketFlags)

Bağlı bir yuvaya veri gönderir.

SendAsync(IList<ArraySegment<Byte>>)

Bağlı bir yuvaya veri gönderir.

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

Bağlı bir yuvaya veri gönderir.

SendAsync(ReadOnlyMemory<Byte>, CancellationToken)

Bağlı bir yuvaya veri gönderir.

SendAsync(ReadOnlyMemory<Byte>, SocketFlags, CancellationToken)

Bağlı bir yuvaya veri gönderir.

SendAsync(SocketAsyncEventArgs)

Verileri bağlı Socket bir nesneye zaman uyumsuz olarak gönderir.

SendFile(String)

Dosyayı fileName iletim bayrağıyla bağlı Socket bir nesneye UseDefaultWorkerThread gönderir.

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

Belirtilen TransmitFileOptions değeri kullanarak dosya fileName ve veri arabelleklerini bağlı Socket bir nesneye gönderir.

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

Belirtilen TransmitFileOptions değeri kullanarak dosya fileName ve veri arabelleklerini bağlı Socket bir nesneye gönderir.

SendFileAsync(String, CancellationToken)

Dosyayı fileName bağlı Socket bir nesneye gönderir.

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

Belirtilen TransmitFileOptions değeri kullanarak dosya fileName ve veri arabelleklerini bağlı Socket bir nesneye gönderir.

SendPacketsAsync(SocketAsyncEventArgs)

Bağlı Socket bir nesneye zaman uyumsuz olarak bir dosya koleksiyonu veya bellek veri arabellekleri gönderir.

SendTo(Byte[], EndPoint)

Verileri belirtilen uç noktaya gönderir.

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

Belirtilen sayıda veriyi, arabellekte SocketFlagsbelirtilen konumdan başlayıp belirtilen kullanarak belirtilen uç noktaya gönderir.

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

Belirtilen sayıda veriyi belirtilen uç noktaya belirtilen SocketFlagskullanarak gönderir.

SendTo(Byte[], SocketFlags, EndPoint)

Belirtilen SocketFlagskullanarak belirli bir uç noktaya veri gönderir.

SendTo(ReadOnlySpan<Byte>, EndPoint)

Verileri belirtilen uç noktaya gönderir.

SendTo(ReadOnlySpan<Byte>, SocketFlags, EndPoint)

Belirtilen SocketFlagskullanarak belirli bir uç noktaya veri gönderir.

SendTo(ReadOnlySpan<Byte>, SocketFlags, SocketAddress)

Belirtilen SocketFlagskullanarak belirli bir uç noktaya veri gönderir.

SendToAsync(ArraySegment<Byte>, EndPoint)

Belirtilen uzak konağa veri gönderir.

SendToAsync(ArraySegment<Byte>, SocketFlags, EndPoint)

Belirtilen uzak konağa veri gönderir.

SendToAsync(ReadOnlyMemory<Byte>, EndPoint, CancellationToken)

Belirtilen uzak konağa veri gönderir.

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

Belirtilen uzak konağa veri gönderir.

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

Belirtilen SocketFlagskullanarak belirli bir uç noktaya veri gönderir.

SendToAsync(SocketAsyncEventArgs)

Verileri belirli bir uzak konağa zaman uyumsuz olarak gönderir.

SetIPProtectionLevel(IPProtectionLevel)

Yuvada IP koruma düzeyini ayarlar.

SetRawSocketOption(Int32, Int32, ReadOnlySpan<Byte>)

Platforma özgü düzey ve ad tanımlayıcılarını kullanarak bir yuva seçeneği değeri ayarlar.

SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean)

Belirtilen seçeneği belirtilen SocketBoolean değere ayarlar.

SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])

Belirtilen Socket seçeneği, bayt dizisi olarak temsil edilen belirtilen değere ayarlar.

SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)

Belirtilen seçeneği belirtilen Socket tamsayı değerine ayarlar.

SetSocketOption(SocketOptionLevel, SocketOptionName, Object)

Belirtilen Socket seçeneği, nesne olarak temsil edilen belirtilen değere ayarlar.

Shutdown(SocketShutdown)

bir Socketüzerinde gönderme ve almaları devre dışı bırakır.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

IDisposable.Dispose()

Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir.

Socket tarafından kullanılan tüm kaynakları serbest bırakır.

Uzantı Metotları

AcceptAsync(Socket)

Yuvada gelen bağlantı girişimini kabul etmek için üzerinde zaman uyumsuz bir işlem gerçekleştirir.

AcceptAsync(Socket, Socket)

Yuvada gelen bağlantı girişimini kabul etmek için üzerinde zaman uyumsuz bir işlem gerçekleştirir.

ConnectAsync(Socket, EndPoint)

Uzak bir konakla bağlantı kurar.

ConnectAsync(Socket, EndPoint, CancellationToken)

Uzak bir konakla bağlantı kurar.

ConnectAsync(Socket, IPAddress, Int32)

Uzak bir konakla bağlantı kurar. Ana bilgisayar bir IP adresi ve bağlantı noktası numarası ile belirtilir.

ConnectAsync(Socket, IPAddress, Int32, CancellationToken)

BIR IP adresi ve bağlantı noktası numarası ile belirtilen uzak bir ana bilgisayarla bağlantı kurar.

ConnectAsync(Socket, IPAddress[], Int32)

Uzak bir konakla bağlantı kurar. Ana bilgisayar bir IP adresleri dizisi ve bağlantı noktası numarası ile belirtilir.

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

Bir IP adresleri dizisi ve bağlantı noktası numarası tarafından belirtilen uzak bir konakla bağlantı kurar.

ConnectAsync(Socket, String, Int32)

Uzak bir konakla bağlantı kurar. Konak, bir ana bilgisayar adı ve bağlantı noktası numarası ile belirtilir.

ConnectAsync(Socket, String, Int32, CancellationToken)

Bir konak adı ve bağlantı noktası numarası ile belirtilen uzak bir ana bilgisayara bağlantı kurar.

ReceiveAsync(Socket, ArraySegment<Byte>, SocketFlags)

Bağlı bir yuvadan veri alır.

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

Bağlı bir yuvadan veri alır.

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

Bağlı bir yuvadan veri alır.

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

Belirtilen bir ağ cihazından veri alır.

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

Belirtilen bayt sayısını veri arabelleğinin belirtilen konumuna alır ve SocketFlagsuç nokta ile paket bilgilerini depolar.

SendAsync(Socket, ArraySegment<Byte>, SocketFlags)

Verileri bağlı bir yuvaya gönderir.

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

Verileri bağlı bir yuvaya gönderir.

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

Verileri bağlı bir yuvaya gönderir.

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

Verileri belirli bir uzak konağa zaman uyumsuz olarak gönderir.

Şunlara uygulanır

İş Parçacığı Güvenliği

Bir örnekte aynı anda Socket gönderme ve alma işlemi yapmak güvenlidir, ancak aynı anda birden çok gönderme veya birden çok alma çağrısı yapılması önerilmez. Temel alınan platform uygulamasına bağlı olarak, bu durum büyük veya çok arabellekli gönderme veya alma işlemleri için istenmeyen verilerin araya alınmasına neden olabilir.

Ayrıca bkz.