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
ReceiveMessageFromAsync(SocketAsyncEventArgs) |
Belirtilen sayıda veriyi veri arabelleğindeki SocketFlagsbelirtilen konuma zaman uyumsuz olarak 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
Belirtilen sayıda veriyi veri arabelleğindeki SocketFlagsbelirtilen konuma zaman uyumsuz olarak 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, işlemin sonucunu almak için yöntem çağrısı döndürüldü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 öncelikle 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, başarılı alma işleminin gerçek uzak uç noktasına güncelleştirileceğini gösterir.
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 ReceiveMessageFromAsync önce istenen herhangi bir kullanıcı durumu nesnesine özelliğini ayarlayabilirSocketAsyncEventArgs.UserToken, böylece bilgiler geri çağırma yönteminde alınabilir. Geri çağırma tek bir nesneden daha fazla bilgiye ihtiyaç duyuyorsa, diğer gerekli durum bilgilerini üye olarak tutmak için küçük bir sınıf oluşturulabilir.
İleti odaklı yuvalar için, arabelleğe arabelleğinin toplam boyutuna kadar bir gelen 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öntemi veya Bind örtük olarak , ConnectAsync, SendToveya SendToAsync yöntemlerinden biri Connecttarafından) ve yöntemine ReceiveMessageFromAsync yapılan ilk çağrı arasında bir yuva paketleri 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, uygulamanın yöntemini kullanarak yerel 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
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
Nesne Socket kapatıldı.
remoteEndPoint
, null
değeridir.
Bu işlemi gerçekleştirmeden önce Bind yöntemini çağırmanız gerekir.
Şunlara uygulanır
ReceiveMessageFromAsync(ArraySegment<Byte>, SocketFlags, EndPoint)
- 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
Nesne Socket kapatıldı.
remoteEndPoint
, null
değeridir.
Bu işlemi gerçekleştirmeden önce Bind yöntemini çağırmanız gerekir.
Şunlara uygulanır
ReceiveMessageFromAsync(Memory<Byte>, EndPoint, CancellationToken)
- 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 sinyalini vermek için kullanılabilecek bir iptal belirteci iptal edilmelidir.
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
Nesne Socket kapatıldı.
remoteEndPoint
, null
değeridir.
Bu işlemi gerçekleştirmeden önce Bind yöntemini çağırmanız gerekir.
İ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
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 sinyalini vermek için kullanılabilecek bir iptal belirteci iptal edilmelidir.
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
Nesne Socket kapatıldı.
remoteEndPoint
, null
değeridir.
Bu işlemi gerçekleştirmeden önce Bind yöntemini çağırmanız gerekir.
İptal belirteci iptal edildi. Bu özel durum, döndürülen görevde depolanır.