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
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
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ı ; değilse, geçersiz Socket bir hata.
Özel durumlar
asyncResult
, null
değeridir.
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ı.
.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 öğesini IAsyncResult geçirmeniz 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 verilerinizi ağ gönderme için arabelleğe almak için yeterli alanı olduğu anlamına gelir.
Not
bir alırsanız, belirli bir SocketExceptionhata kodunu almak için özelliğini kullanın SocketException.ErrorCode .
Not
Belirli bir iş parçacığı tarafından başlatılan tüm G/Ç, iş parçacığı çıktığında iptal edilir. İşlem tamamlanmadan önce iş parçacığından çıkılabilirse bekleyen zaman uyumsuz bir işlem başarısız olabilir.
Not
Gönderme işleminin başarıyla tamamlanması, verilerin başarıyla teslim edildiği anlamına gelmez. Aktarım sistemi içinde iletilecek verileri tutacak arabellek alanı yoksa, yuva engelleyici olmayan moda yerleştirilmediği sürece gönderme işlemi engellenir.
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.
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
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ı ; değilse, geçersiz Socket bir hata.
Özel durumlar
asyncResult
, null
değeridir.
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ı.
.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 öğesini IAsyncResult geçirmeniz 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 verilerinizi ağ gönderme için arabelleğe almak için yeterli alanı olduğu anlamına gelir.
Not
bir alırsanız, belirli bir SocketExceptionhata kodunu almak için özelliğini kullanın SocketException.ErrorCode .
Not
Belirli bir iş parçacığı tarafından başlatılan tüm G/Ç, iş parçacığı çıktığında iptal edilir. İşlem tamamlanmadan önce iş parçacığından çıkılabilirse bekleyen zaman uyumsuz bir işlem başarısız olabilir.
Not
Gönderme işleminin başarıyla tamamlanması, verilerin başarıyla teslim edildiği anlamına gelmez. Aktarım sistemi içinde iletilecek verileri tutacak arabellek alanı yoksa, yuva engelleyici olmayan moda yerleştirilmediği sürece gönderme işlemi engellenir.
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.
Ayrıca bkz.
- BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)
- AsyncCallback
- AsyncState
- SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)
- NoDelay