Socket.ReceiveMessageFromAsync Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
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
RemoteEndPoint null olamaz.
Kapatılmış Socket .
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
- 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
- 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.