Socket.BeginReceiveMessageFrom 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.
Belirtilen sayıda veriyi veri arabelleğinin SocketFlagsbelirtilen konumuna zaman uyumsuz olarak almaya başlar ve uç nokta ile paket bilgilerini depolar.
public:
IAsyncResult ^ BeginReceiveMessageFrom(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags socketFlags, System::Net::EndPoint ^ % remoteEP, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceiveMessageFrom (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, ref System.Net.EndPoint remoteEP, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceiveMessageFrom (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, ref System.Net.EndPoint remoteEP, AsyncCallback callback, object state);
member this.BeginReceiveMessageFrom : byte[] * int * int * System.Net.Sockets.SocketFlags * EndPoint * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceiveMessageFrom (buffer As Byte(), offset As Integer, size As Integer, socketFlags As SocketFlags, ByRef remoteEP As EndPoint, callback As AsyncCallback, state As Object) As IAsyncResult
Parametreler
- offset
- Int32
Parametrede buffer
verilerin depolandığı sıfır tabanlı konum.
- size
- Int32
Alınacak bayt sayısı.
- socketFlags
- SocketFlags
Değerlerin bit düzeyinde birleşimi SocketFlags .
- remoteEP
- EndPoint
Zaman uyumlu almada güncelleştirilecek uzak konağın uç noktasıyla aynı türde bir EndPoint başvuru.
- callback
- AsyncCallback
Temsilci AsyncCallback .
- state
- Object
Bu istek için durum bilgilerini içeren bir nesne.
Döndürülenler
IAsyncResult Zaman uyumsuz okumaya başvuran bir.
Özel durumlar
Yalnızca .NET Framework ve .NET 5 ve öncesi: Yuvaya erişmeye çalışılırken bir hata oluştu.
offset
0'dan küçüktür.
-veya-
offset
uzunluğundan buffer
büyük.
-veya-
size
0'dan küçüktür.
-veya-
size
parametresinin değerinden buffer
offset
daha uzundur.
Kapatılmış Socket .
Açıklamalar
Önemli
Bu bir uyumluluk API'sidir. Yeni geliştirme için APM (Begin*
ve End*
) yöntemlerini kullanmanızı önermiyoruz. Bunun yerine tabanlı eşdeğerleri kullanın Task
.
İşlemin AsyncCallbackBeginReceiveMessageFrom tamamlanması hakkında bildirim almak için uygulamasına uygulanan bir geri çağırma geçirebilirsiniz. Temel alınan ağ yığını işlemi zaman uyumlu bir şekilde tamamlarsa, çağrısı sırasında geri çağırmanın BeginReceiveMessageFromsatır içinde yürütüleceğini unutmayın. Bu durumda, döndürülen IAsyncResult üzerindeki özelliği yöntemin CompletedSynchronously zaman uyumlu olarak tamamlandığını belirtmek için olarak ayarlanırtrue
. yöntemine AsyncState geçirilen durum nesnesini almak için BeginReceiveMessageFrom özelliğini IAsyncResult kullanın.
Zaman uyumsuz BeginReceiveMessageFrom işlem yöntemi çağrılarak EndReceiveMessageFrom tamamlanmalıdır. Genellikle, yöntemi temsilci tarafından çağrılır AsyncCallback . EndReceiveMessageFrom işlem tamamlanana kadar çağıran iş parçacığını engeller.
Bekleyen BeginReceiveMessageFrombir öğesini iptal etmek için yöntemini çağırın Close .
Bu yöntem verileri parametresine buffer
okur ve verilerin gönderildiği uzak konak uç noktasının yanı sıra alınan paketle ilgili bilgileri yakalar. Bu uç noktayı alma hakkında bilgi için bkz EndReceiveMessageFrom. . Bu yöntem, bilinmeyen bir konaktan veya birden çok konaktan zaman uyumsuz veri birimleri almayı amaçlıyorsanız en kullanışlı yöntemdir.
Not
bir alırsanız, belirli bir SocketExceptionhata kodunu almak için özelliğini kullanın SocketException.ErrorCode .
Not
Uygulamanızda ağ izlemeyi etkinleştirdiğinizde, bu üye izleme bilgilerini çıkarır. Daha fazla bilgi için bkz. .NET Framework'da Ağ İzleme.
Not
Yürütme bağlamı (güvenlik bağlamı, kimliğine bürünülen kullanıcı ve çağırma bağlamı) zaman uyumsuz Socket yöntemler için önbelleğe alınır. Belirli bir bağlamın (belirli bir zaman uyumsuz Socket yöntem, belirli bir örnek ve belirli Socket bir geri çağırma) ilk kullanımından sonra, bu bağlamın sonraki kullanımları bir performans geliştirmesi görecektir.