Aracılığıyla paylaş


Socket.ReceiveMessageFromAsync Yöntem

Tanım

Aşırı Yüklemeler

Name Description
ReceiveMessageFromAsync(SocketAsyncEventArgs)

Belirtilen sayıda veriyi zaman uyumsuz olarak veri arabelleğindeki SocketFlagsbelirtilen konuma almaya başlar ve uç 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)

Kaynak:
Socket.cs
Kaynak:
Socket.cs
Kaynak:
Socket.cs
Kaynak:
Socket.cs
Kaynak:
Socket.cs

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

public:
 bool ReceiveMessageFromAsync(System::Net::Sockets::SocketAsyncEventArgs ^ e);
public bool ReceiveMessageFromAsync(System.Net.Sockets.SocketAsyncEventArgs e);
member this.ReceiveMessageFromAsync : System.Net.Sockets.SocketAsyncEventArgs -> bool
Public Function ReceiveMessageFromAsync (e As SocketAsyncEventArgs) As Boolean

Parametreler

e
SocketAsyncEventArgs

SocketAsyncEventArgs Bu zaman uyumsuz yuva işlemi için kullanılacak nesne.

Döndürülenler

true G/Ç işlemi bekliyorsa. Completed parametresindeki e olay, işlem tamamlandıktan sonra tetiklenir.

false G/Ç işlemi zaman uyumlu olarak tamamlandıysa. Bu durumda, Completed parametredeki e olay tetiklenmez ve e parametre olarak geçirilen nesne, yöntem çağrısı işlemin sonucunu almak için döndürdükten hemen sonra incelenebilir.

Özel durumlar

Yuvaya erişmeye çalışılırken bir hata oluştu.

Açıklamalar

ReceiveMessageFromAsync yöntemi öncelikli olarak bağlantısız bir yuvada ileti verilerini almak için kullanılır. Yuvanın yerel adresi bilinmelidir. Bu yöntem yalnızca veri birimi ve ham yuvalarla kullanılabilir. Yuva, bu yöntemi çağırmadan önce veya Raw olarak ayarlanmış Dgram yuva türüyle başlatılmalıdır. Yuva kullanılarak Socketoluşturulduğunda bu yapılabilir.

Çağıranın SocketAsyncEventArgs.RemoteEndPoint özelliğini uzak konağın uç noktasıyla aynı türde bir EndPoint değere ayarlaması gerekir. Özellik, gerçek uzak uç noktaya başarılı bir şekilde almada güncelleştirilir.

Bu yöntemi başarıyla çağırmak için nesnedeki System.Net.Sockets.SocketAsyncEventArgs aşağıdaki özellikler ve olaylar gereklidir:

Çağıran, yöntemi çağırmadan SocketAsyncEventArgs.UserToken önce istenen herhangi bir kullanıcı durumu nesnesine özelliğini ayarlayabilirReceiveMessageFromAsync, böylece bilgiler geri çağırma yönteminde alınabilir. Geri çağırma için tek bir nesneden daha fazla bilgi gerekiyorsa, gerekli diğer durum bilgilerini üye olarak tutmak için küçük bir sınıf oluşturulabilir.

İleti odaklı yuvalar için, arabelleğe arabellek toplam boyutuna kadar gelen bir ileti yerleştirilir. SocketAsyncEventArgs.Count ve SocketAsyncEventArgs.Offset özellikleri, verilerin arabelleğe nereye yerleştirileceğini ve veri miktarını belirler.

ReceiveMessageFromAsync yöntemi, yuva seçeneğini true otomatik olarak belirli Socketbir için ilk kez çağrılacak şekilde ayarlarPacketInformation. Ancak, IPPacketInformation nesne yalnızca yuva seçeneği ayarlandıktan sonra yerel bilgisayara ulaşan paketler için geçerli olacaktır. Yuva yerel bir uç noktaya bağlı olduğunda (açıkça yöntemiyle Bind veya örtük olarak , , ConnectAsyncSendToveya SendToAsync yöntemlerinden biri Connecttarafından) ve yöntemine ReceiveMessageFromAsync yapılan ilk çağrı arasında paket gönderilirse, yöntemine ReceiveMessageFromAsync yapılan çağrılar bu paketler için geçersiz IPPacketInformation nesnelere neden olur.

Tüm IPPacketInformation nesnelerin geçerli olduğundan emin olmak için, bir uygulamanın yöntemini kullanarak yerel bir uç noktaya bağlanmadan önce yuva seçeneğinitrue olarak ayarlaması PacketInformationSetSocketOption(SocketOptionLevel, SocketOptionName, Boolean) gerekir.

Bir uygulama, veri biriminin tek noktaya yayın, çok noktaya yayın veya yayın adresi kullanılarak gönderilip gönderilmediğini bilmesi gerekiyorsa sonuçta IPPacketInformation elde edilen nesneleri inceleyebilir.

Ayrıca bkz.

Şunlara uygulanır

ReceiveMessageFromAsync(ArraySegment<Byte>, EndPoint)

Kaynak:
Socket.Tasks.cs
Kaynak:
Socket.Tasks.cs
Kaynak:
Socket.Tasks.cs
Kaynak:
Socket.Tasks.cs
Kaynak:
Socket.Tasks.cs

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

public:
 System::Threading::Tasks::Task<System::Net::Sockets::SocketReceiveMessageFromResult> ^ ReceiveMessageFromAsync(ArraySegment<System::Byte> buffer, System::Net::EndPoint ^ remoteEndPoint);
public System.Threading.Tasks.Task<System.Net.Sockets.SocketReceiveMessageFromResult> ReceiveMessageFromAsync(ArraySegment<byte> buffer, System.Net.EndPoint remoteEndPoint);
member this.ReceiveMessageFromAsync : ArraySegment<byte> * System.Net.EndPoint -> System.Threading.Tasks.Task<System.Net.Sockets.SocketReceiveMessageFromResult>
Public Function ReceiveMessageFromAsync (buffer As ArraySegment(Of Byte), remoteEndPoint As EndPoint) As Task(Of SocketReceiveMessageFromResult)

Parametreler

buffer
ArraySegment<Byte>

Alınan veriler için arabellek.

remoteEndPoint
EndPoint

Uzak konağın uç noktasıyla aynı türde bir uç nokta.

Döndürülenler

Alınan bayt sayısını ve gönderen ana bilgisayar hakkında ek bilgileri içeren bir SocketReceiveMessageFromResult ile tamamlanan zaman uyumsuz bir görev.

Özel durumlar

Socket Nesne kapatıldı.

remoteEndPoint, null'e eşittir.

Bu işlemi gerçekleştirmeden önce Bind yöntemini çağırmalısınız.

Şunlara uygulanır

ReceiveMessageFromAsync(ArraySegment<Byte>, SocketFlags, EndPoint)

Kaynak:
Socket.Tasks.cs
Kaynak:
Socket.Tasks.cs
Kaynak:
Socket.Tasks.cs
Kaynak:
Socket.Tasks.cs
Kaynak:
Socket.Tasks.cs

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

public:
 System::Threading::Tasks::Task<System::Net::Sockets::SocketReceiveMessageFromResult> ^ ReceiveMessageFromAsync(ArraySegment<System::Byte> buffer, System::Net::Sockets::SocketFlags socketFlags, System::Net::EndPoint ^ remoteEndPoint);
public System.Threading.Tasks.Task<System.Net.Sockets.SocketReceiveMessageFromResult> ReceiveMessageFromAsync(ArraySegment<byte> buffer, System.Net.Sockets.SocketFlags socketFlags, System.Net.EndPoint remoteEndPoint);
member this.ReceiveMessageFromAsync : ArraySegment<byte> * System.Net.Sockets.SocketFlags * System.Net.EndPoint -> System.Threading.Tasks.Task<System.Net.Sockets.SocketReceiveMessageFromResult>
Public Function ReceiveMessageFromAsync (buffer As ArraySegment(Of Byte), socketFlags As SocketFlags, remoteEndPoint As EndPoint) As Task(Of SocketReceiveMessageFromResult)

Parametreler

buffer
ArraySegment<Byte>

Alınan veriler için arabellek.

socketFlags
SocketFlags

Verileri alırken kullanılacak SocketFlags değerlerinin bit düzeyinde birleşimi.

remoteEndPoint
EndPoint

Uzak konağın uç noktasıyla aynı türde bir uç nokta.

Döndürülenler

Alınan bayt sayısını ve gönderen ana bilgisayar hakkında ek bilgileri içeren bir SocketReceiveMessageFromResult ile tamamlanan zaman uyumsuz bir görev.

Özel durumlar

Socket Nesne kapatıldı.

remoteEndPoint, null'e eşittir.

Bu işlemi gerçekleştirmeden önce Bind yöntemini çağırmalısınız.

Şunlara uygulanır

ReceiveMessageFromAsync(Memory<Byte>, EndPoint, CancellationToken)

Kaynak:
Socket.Tasks.cs
Kaynak:
Socket.Tasks.cs
Kaynak:
Socket.Tasks.cs
Kaynak:
Socket.Tasks.cs
Kaynak:
Socket.Tasks.cs

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

public System.Threading.Tasks.ValueTask<System.Net.Sockets.SocketReceiveMessageFromResult> ReceiveMessageFromAsync(Memory<byte> buffer, System.Net.EndPoint remoteEndPoint, System.Threading.CancellationToken cancellationToken = default);
member this.ReceiveMessageFromAsync : Memory<byte> * System.Net.EndPoint * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<System.Net.Sockets.SocketReceiveMessageFromResult>
Public Function ReceiveMessageFromAsync (buffer As Memory(Of Byte), remoteEndPoint As EndPoint, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of SocketReceiveMessageFromResult)

Parametreler

buffer
Memory<Byte>

Alınan veriler için arabellek.

remoteEndPoint
EndPoint

Uzak konağın uç noktasıyla aynı türde bir uç nokta.

cancellationToken
CancellationToken

Zaman uyumsuz işlemin iptal edilmesi gerektiğini belirten bir iptal belirteci.

Döndürülenler

Alınan bayt sayısını ve gönderen ana bilgisayar hakkında ek bilgileri içeren bir SocketReceiveMessageFromResult ile tamamlanan zaman uyumsuz bir görev.

Özel durumlar

Socket Nesne kapatıldı.

remoteEndPoint, null'e eşittir.

Bu işlemi gerçekleştirmeden önce Bind yöntemini çağırmalısınız.

İptal belirteci iptal edildi. Bu özel durum, döndürülen görevde depolanır.

Şunlara uygulanır

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

Kaynak:
Socket.Tasks.cs
Kaynak:
Socket.Tasks.cs
Kaynak:
Socket.Tasks.cs
Kaynak:
Socket.Tasks.cs
Kaynak:
Socket.Tasks.cs

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

public System.Threading.Tasks.ValueTask<System.Net.Sockets.SocketReceiveMessageFromResult> ReceiveMessageFromAsync(Memory<byte> buffer, System.Net.Sockets.SocketFlags socketFlags, System.Net.EndPoint remoteEndPoint, System.Threading.CancellationToken cancellationToken = default);
member this.ReceiveMessageFromAsync : Memory<byte> * System.Net.Sockets.SocketFlags * System.Net.EndPoint * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<System.Net.Sockets.SocketReceiveMessageFromResult>
Public Function ReceiveMessageFromAsync (buffer As Memory(Of Byte), socketFlags As SocketFlags, remoteEndPoint As EndPoint, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of SocketReceiveMessageFromResult)

Parametreler

buffer
Memory<Byte>

Alınan veriler için arabellek.

socketFlags
SocketFlags

Verileri alırken kullanılacak SocketFlags değerlerinin bit düzeyinde birleşimi.

remoteEndPoint
EndPoint

Uzak konağın uç noktasıyla aynı türde bir uç nokta.

cancellationToken
CancellationToken

Zaman uyumsuz işlemin iptal edilmesi gerektiğini belirten bir iptal belirteci.

Döndürülenler

Alınan bayt sayısını ve gönderen ana bilgisayar hakkında ek bilgileri içeren bir SocketReceiveMessageFromResult ile tamamlanan zaman uyumsuz bir görev.

Özel durumlar

Socket Nesne kapatıldı.

remoteEndPoint, null'e eşittir.

Bu işlemi gerçekleştirmeden önce Bind yöntemini çağırmalısınız.

İptal belirteci iptal edildi. Bu özel durum, döndürülen görevde depolanır.

Şunlara uygulanır