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ını 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 iletip CancellationToken işlemin tamamını iptal edilebilir hale getirir.

Tavsiye

Socket'nin genellikle bir almayan CancellationToken zaman uyumsuz yöntemleri yığında ayrılan bir Taskdöndürür. İptal edilebilir aşırı yüklemeler her zaman ValueTaskgeri döner; bunları kullanmak, 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

Name Description
Socket(AddressFamily, SocketType, ProtocolType)

Belirtilen adres ailesi, yuva türü ve protokolü kullanarak sınıfı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 Socketdöndürülen belirtilen değeri kullanarak sınıfının yeni bir örneğini DuplicateAndClose(Int32) başlatır.

Socket(SocketType, ProtocolType)

Belirtilen yuva türünü ve protokolü kullanarak sınıfın Socket yeni bir örneğini 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

Name Description
AddressFamily

adresinin aile adresini Socketalır.

Available

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

Blocking

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

Connected

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

DontFragment

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

DualMode

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

EnableBroadcast

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

ExclusiveAddressUse

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

Handle

için işletim sistemi tutamacı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 Boolean Nagle algoritmasını kullanıp kullanmadığını belirten bir Socket 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 alınan 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

öğesinin alma arabelleğinin Socketboyutunu belirten bir değer 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ğer 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+ sürümde (.NET Core sürümleri dahil), değer her zaman false.

Yöntemler

Name Description
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, CancellationToken)

Gelen bağlantıyı kabul eder.

AcceptAsync(Socket)

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 IPAddress ve bağlantı noktası numarası ile 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ı tarafından 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ıyla 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 bir ağ cihazından zaman uyumsuz olarak veri almaya başlar.

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

Belirtilen sayıda veriyi zaman uyumsuz olarak veri arabelleğinin SocketFlagsbelirtilen konumuna 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ı tarafından belirtilir.

Connect(String, Int32)

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

ConnectAsync(EndPoint, CancellationToken)

Uzak bir konakla bağlantı kurar.

ConnectAsync(EndPoint)

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(IPAddress[], Int32)

Uzak bir konakla bağlantı kurar.

ConnectAsync(SocketAsyncEventArgs)

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

ConnectAsync(SocketType, ProtocolType, SocketAsyncEventArgs, ConnectAlgorithm)

Berkeley yuva arabirimini uygular.

ConnectAsync(SocketType, ProtocolType, SocketAsyncEventArgs)

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

ConnectAsync(String, Int32, CancellationToken)

Uzak bir konakla bağlantı kurar.

ConnectAsync(String, Int32)

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ı bir 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()

Sınıfın geçerli örneği Socket 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 bir 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 bir 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)

Gelen bağlantı girişimini zaman uyumsuz olarak 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, SocketError)

Bekleyen zaman uyumsuz bir okumayı sonlandırır.

EndReceive(IAsyncResult)

Bekleyen zaman uyumsuz bir 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, SocketError)

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

EndSend(IAsyncResult)

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

EndSendFile(IAsyncResult)

Bekleyen zaman uyumsuz bir dosyanın gönderilmesini sonlandırır.

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()

Örnek için bir Socket karma değer 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 bir yuva seçeneği değeri alı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.

GetSocketOption(SocketOptionLevel, SocketOptionName)

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

GetType()

Geçerli örneğin Type 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ı Socket kullanarak için IOControlCode alt düzey çalışma modlarını ayarlar.

Listen()

bir Socket dinleme durumuna yerleştirir.

Listen(Int32)

bir Socket dinleme durumuna yerleştirir.

MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

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

durumunu Socketbelirler.

Poll(TimeSpan, SelectMode)

durumunu Socketbelirler.

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

Belirtilen Socketkullanarak bir sınırdan SocketFlags alma arabelleğine veri alır.

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

Belirtilen bayt sayısını, belirtilen kullanarak alma arabelleğinin Socketbelirtilen uzaklık konumuna giden bir sınırdan SocketFlags alır.

Receive(Byte[], Int32, SocketFlags)

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

Receive(Byte[], SocketFlags)

Belirtilen Socketkullanarak bir sınırdan SocketFlags alma arabelleğine veri alır.

Receive(Byte[])

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

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

Belirtilen Socketöğesini kullanarak alma arabellekleri listesine bağlı SocketFlags olan bir veritabanından veri alır.

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

Belirtilen Socketöğesini kullanarak alma arabellekleri listesine bağlı SocketFlags olan bir veritabanından veri alır.

Receive(IList<ArraySegment<Byte>>)

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

Receive(Span<Byte>, SocketFlags, SocketError)

Belirtilen Socketkullanarak bir sınırdan SocketFlags alma arabelleğine veri alır.

Receive(Span<Byte>, SocketFlags)

Belirtilen Socketkullanarak bir sınırdan SocketFlags alma arabelleğine veri alır.

Receive(Span<Byte>)

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

ReceiveAsync(ArraySegment<Byte>, SocketFlags)

Bağlı bir yuvadan veri alır.

ReceiveAsync(ArraySegment<Byte>)

Bağlı bir yuvadan veri alır.

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

Bağlı bir yuvadan veri alır.

ReceiveAsync(IList<ArraySegment<Byte>>)

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 veri arabelleğinin SocketFlagsbelirtilen konumuna belirtilen sayıda veri alır ve uç noktayı depolar.

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

Belirtilen bayt sayısını 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 bir ağ cihazından zaman uyumsuz olarak veri almaya başlar.

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

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

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

Belirtilen sayıda veriyi belirtilen 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 zaman uyumsuz olarak veri arabelleğindeki SocketFlagsbelirtilen konuma 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[], Int32, Int32, SocketFlags, SocketError)

Belirtilen sayıda veriyi, belirtilen uzaklıkta başlayıp belirtilen Socketdeğerini kullanarak bağlı SocketFlagsbir öğesine gönderir.

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

Belirtilen sayıda veriyi, belirtilen uzaklıkta başlayıp belirtilen Socketdeğerini kullanarak bağlı SocketFlagsbir öğesine gönderir.

Send(Byte[], Int32, SocketFlags)

Belirtilen sayıda veriyi, belirtilen Socketkullanarak bağlı SocketFlagsbir öğesine gönderir.

Send(Byte[], SocketFlags)

Belirtilen Socketkullanarak bağlı SocketFlags bir öğesine veri gönderir.

Send(Byte[])

Verileri bağlı Socketbir öğesine gönderir.

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

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

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

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

Send(IList<ArraySegment<Byte>>)

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

Send(ReadOnlySpan<Byte>, SocketFlags, SocketError)

Belirtilen Socketkullanarak bağlı SocketFlags bir öğesine veri gönderir.

Send(ReadOnlySpan<Byte>, SocketFlags)

Belirtilen Socketkullanarak bağlı SocketFlags bir öğesine veri gönderir.

Send(ReadOnlySpan<Byte>)

Verileri bağlı Socketbir öğesine gönderir.

SendAsync(ArraySegment<Byte>, SocketFlags)

Bağlı bir yuvaya veri gönderir.

SendAsync(ArraySegment<Byte>)

Bağlı bir yuvaya veri gönderir.

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

Bağlı bir yuvaya veri gönderir.

SendAsync(IList<ArraySegment<Byte>>)

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, Byte[], Byte[], TransmitFileOptions)

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

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

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

SendFile(String)

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

SendFileAsync(String, CancellationToken)

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

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

Belirtilen fileName değeri kullanarak bağlı Socket bir nesneye veri dosyasını TransmitFileOptions ve arabelleklerini 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 belirtilen uç noktaya, arabellekte belirtilen konumdan başlayarak ve belirtilen SocketFlagskullanarak gönderir.

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

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

SendTo(Byte[], SocketFlags, EndPoint)

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

SendTo(ReadOnlySpan<Byte>, EndPoint)

Verileri belirtilen uç noktaya gönderir.

SendTo(ReadOnlySpan<Byte>, SocketFlags, EndPoint)

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

SendTo(ReadOnlySpan<Byte>, SocketFlags, SocketAddress)

Belirtilen SocketFlagskullanarak verileri belirli bir uç noktaya 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 verileri belirli bir uç noktaya gönderir.

SendToAsync(SocketAsyncEventArgs)

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

SetIPProtectionLevel(IPProtectionLevel)

Bir 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 bir dize döndürür.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

Name Description
IDisposable.Dispose()

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

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

Uzantı Metotları

Name Description
AcceptAsync(Socket, Socket)

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

AcceptAsync(Socket)

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

ConnectAsync(Socket, EndPoint, CancellationToken)

Uzak bir konakla bağlantı kurar.

ConnectAsync(Socket, EndPoint)

Uzak bir konakla bağlantı kurar.

ConnectAsync(Socket, IPAddress, Int32, CancellationToken)

Bir IP adresi ve bağlantı noktası numarası ile belirtilen uzak bir ana bilgisayara 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 adresleri dizisi ve bağlantı noktası numarası tarafından belirtilen uzak bir konakla bağlantı kurar.

ConnectAsync(Socket, IPAddress[], Int32)

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

ConnectAsync(Socket, String, Int32, CancellationToken)

Bir ana bilgisayar adı ve bağlantı noktası numarasıyla 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ıyla belirtilir.

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 sayıda veriyi belirtilen 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 gerçekleştirmek 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, 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.