Sdílet prostřednictvím


Socket.EndSendTo(IAsyncResult) Metoda

Definice

Ukončí čekající asynchronní odeslání do konkrétního umístění.

public:
 int EndSendTo(IAsyncResult ^ asyncResult);
public int EndSendTo(IAsyncResult asyncResult);
member this.EndSendTo : IAsyncResult -> int
Public Function EndSendTo (asyncResult As IAsyncResult) As Integer

Parametry

asyncResult
IAsyncResult

Obsahuje IAsyncResult informace o stavu a všechna uživatelsky definovaná data pro tuto asynchronní operaci.

Návraty

V případě úspěchu počet odeslaných bajtů; v opačném případě došlo k neplatné Socket chybě.

Výjimky

asyncResult je null.

EndSendTo(IAsyncResult) byl dříve volán pro asynchronní odesílání.

Při pokusu o přístup k soketu došlo k chybě.

nebo

Pouze .NET 7+ : Tato Socket možnost byla uzavřena.

Pouze rozhraní .NET Framework, .NET Core a .NET 5-6: Bylo Socket uzavřeno.

Poznámky

Důležité

Toto je rozhraní API pro kompatibilitu. Pro nový vývoj nedoporučujeme používat metody APM (Begin* a End*). Místo toho použijte ekvivalenty založené na Taskzákladech.

EndSendTo dokončí operaci, kterou BeginSendTospustil . Musíte předat vytvořenou IAsyncResult odpovídajícím BeginSendTo voláním.

Pokud používáte protokol bez připojení, EndSendTo zablokuje se, dokud se datagram odešle. Pokud používáte protokol orientovaný na připojení, bude blokovat, EndSendTo dokud nebude odeslán požadovaný počet bajtů. Není zaručeno, že se data, která odesíláte, zobrazí v síti okamžitě. Aby se zvýšila efektivita sítě, může základní systém zpozdit přenos, dokud se neshromáždí značné množství odchozích dat. Úspěšné dokončení BeginSendTo metody znamená, že základní systém měl místo pro ukládání dat do vyrovnávací paměti pro odesílání sítě.

Poznámka:

Pokud se zobrazí kód SocketExceptionchyby, použijte SocketException.ErrorCode vlastnost k získání konkrétního kódu chyby. Po získání tohoto kódu si přečtěte dokumentaci k chybě rozhraní API rozhraní WINDOWS Sockets verze 2 , kde najdete podrobný popis chyby.

Poznámka:

Tento člen vypíše informace o trasování, když ve své aplikaci povolíte trasování sítě. Další informace naleznete v tématu Trasování sítě v rozhraní .NET Framework.

Platí pro