Socket.EndSend 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.
Bekleyen zaman uyumsuz göndermeyi sonlandırır.
Aşırı Yüklemeler
| Name | Description |
|---|---|
| EndSend(IAsyncResult) |
Bekleyen zaman uyumsuz göndermeyi sonlandırır. |
| EndSend(IAsyncResult, SocketError) |
Bekleyen zaman uyumsuz göndermeyi sonlandırır. |
EndSend(IAsyncResult)
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
Bekleyen zaman uyumsuz göndermeyi sonlandırır.
public:
int EndSend(IAsyncResult ^ asyncResult);
public int EndSend(IAsyncResult asyncResult);
member this.EndSend : IAsyncResult -> int
Public Function EndSend (asyncResult As IAsyncResult) As Integer
Parametreler
- asyncResult
- IAsyncResult
IAsyncResult Bu zaman uyumsuz işlem için durum bilgilerini depolayan bir.
Döndürülenler
Başarılı olursa, öğesine Socketgönderilen bayt sayısı ; aksi takdirde geçersiz Socket bir hatadır.
Özel durumlar
asyncResult, null'e eşittir.
asyncResult yöntemine BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) yapılan bir çağrı tarafından döndürülmedi.
EndSend(IAsyncResult) daha önce zaman uyumsuz gönderme için çağrıldı.
Yalnızca .NET Framework, .NET Core ve .NET 5-6: Socket kapatıldı.
Açıklamalar
Önemli
Bu bir uyumluluk API'sidir. Yeni geliştirme için APM (Begin* ve End*) yöntemlerinin kullanılmasını önermiyoruz. Bunun yerine, tabanlı eşdeğerleri kullanın Task.
EndSend tarafından BeginSendbaşlatılan işlemi tamamlar. Eşleşen BeginSend çağrı tarafından oluşturulan geçirmeniz IAsyncResult gerekir.
Bağlantısız bir protokol kullanıyorsanız, EndSend veri birimi gönderilene kadar engeller. Bağlantı odaklı bir protokol kullanıyorsanız, EndSend arabelleğin bir bölümü gönderilene kadar engeller. 'den EndSend dönüş değeri arabelleğin tamamen gönderilmediğini gösteriyorsa, gönderilmemiş verileri tutmak için arabelleği değiştirerek yöntemini yeniden çağırın BeginSend .
Gönderdiğiniz verilerin ağda hemen görüneceğinin garantisi yoktur. Ağ verimliliğini artırmak için, temel alınan sistem önemli miktarda giden veri toplanana kadar iletimi geciktirebilir. Yöntemin BeginSend başarıyla tamamlanması, temel alınan sistemin bir ağ gönderme işlemi için verilerinizi arabelleğe almak için yeterli alanı olduğu anlamına gelir.
Uyarı
bir SocketExceptionalırsanız, özelliğini kullanarak SocketException.ErrorCode belirli bir hata kodunu alın.
Uyarı
Belirli bir iş parçacığı tarafından başlatılan tüm G/Ç, iş parçacığı çıktığında iptal edilir. İş parçacığı işlem tamamlanmadan önce çıkarsa bekleyen bir zaman uyumsuz işlem başarısız olabilir.
Uyarı
Gönderme işleminin başarıyla tamamlanması, verilerin başarıyla teslim edildiği anlamına gelmez. Aktarım sisteminde iletilecek verileri tutmak için kullanılabilir arabellek alanı yoksa, yuva engelleyici olmayan moda yerleştirilmediği sürece gönderme engellenir.
Uyarı
Bu üye, uygulamanızda ağ izlemeyi etkinleştirdiğinizde izleme bilgilerini döndürür. Daha fazla bilgi için bkz. .NET Framework'te Ağ İzleme.
Ayrıca bkz.
- BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)
- AsyncCallback
- AsyncState
- SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)
- NoDelay
Şunlara uygulanır
EndSend(IAsyncResult, SocketError)
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
Bekleyen zaman uyumsuz göndermeyi sonlandırır.
public:
int EndSend(IAsyncResult ^ asyncResult, [Runtime::InteropServices::Out] System::Net::Sockets::SocketError % errorCode);
public int EndSend(IAsyncResult asyncResult, out System.Net.Sockets.SocketError errorCode);
member this.EndSend : IAsyncResult * SocketError -> int
Public Function EndSend (asyncResult As IAsyncResult, ByRef errorCode As SocketError) As Integer
Parametreler
- asyncResult
- IAsyncResult
IAsyncResult Bu zaman uyumsuz işlem için durum bilgilerini depolayan bir.
- errorCode
- SocketError
SocketError Yuva hatasını depolayan bir nesne.
Döndürülenler
Başarılı olursa, öğesine Socketgönderilen bayt sayısı ; aksi takdirde geçersiz Socket bir hatadır.
Özel durumlar
asyncResult, null'e eşittir.
asyncResult yöntemine BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) yapılan bir çağrı tarafından döndürülmedi.
EndSend(IAsyncResult) daha önce zaman uyumsuz gönderme için çağrıldı.
Yalnızca .NET Framework, .NET Core ve .NET 5-6: Socket kapatıldı.
Açıklamalar
Önemli
Bu bir uyumluluk API'sidir. Yeni geliştirme için APM (Begin* ve End*) yöntemlerinin kullanılmasını önermiyoruz. Bunun yerine, tabanlı eşdeğerleri kullanın Task.
EndSend tarafından BeginSendbaşlatılan işlemi tamamlar. Eşleşen BeginSend çağrı tarafından oluşturulan geçirmeniz IAsyncResult gerekir.
Bağlantısız bir protokol kullanıyorsanız, EndSend veri birimi gönderilene kadar engeller. Bağlantı odaklı bir protokol kullanıyorsanız, EndSend arabelleğin bir bölümü gönderilene kadar engeller. 'den EndSend dönüş değeri arabelleğin tamamen gönderilmediğini gösteriyorsa, gönderilmemiş verileri tutmak için arabelleği değiştirerek yöntemini yeniden çağırın BeginSend .
Gönderdiğiniz verilerin ağda hemen görüneceğinin garantisi yoktur. Ağ verimliliğini artırmak için, temel alınan sistem önemli miktarda giden veri toplanana kadar iletimi geciktirebilir. Yöntemin BeginSend başarıyla tamamlanması, temel alınan sistemin bir ağ gönderme işlemi için verilerinizi arabelleğe almak için yeterli alanı olduğu anlamına gelir.
Uyarı
bir SocketExceptionalırsanız, özelliğini kullanarak SocketException.ErrorCode belirli bir hata kodunu alın.
Uyarı
Belirli bir iş parçacığı tarafından başlatılan tüm G/Ç, iş parçacığı çıktığında iptal edilir. İş parçacığı işlem tamamlanmadan önce çıkarsa bekleyen bir zaman uyumsuz işlem başarısız olabilir.
Uyarı
Gönderme işleminin başarıyla tamamlanması, verilerin başarıyla teslim edildiği anlamına gelmez. Aktarım sisteminde iletilecek verileri tutmak için kullanılabilir arabellek alanı yoksa, yuva engelleyici olmayan moda yerleştirilmediği sürece gönderme engellenir.
Uyarı
Bu üye, uygulamanızda ağ izlemeyi etkinleştirdiğinizde izleme bilgilerini döndürür. Daha fazla bilgi için bkz. .NET Framework'te Ağ İzleme.
Ayrıca bkz.
- BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)
- AsyncCallback
- AsyncState
- SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)
- NoDelay