Udostępnij za pośrednictwem


Socket.EndSendTo(IAsyncResult) Metoda

Definicja

Kończy oczekujące asynchroniczne wysyłanie do określonej lokalizacji.

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

Obiekt IAsyncResult , który przechowuje informacje o stanie i wszystkie dane zdefiniowane przez użytkownika dla tej operacji asynchronicznej.

Zwraca

W przypadku powodzenia liczba wysłanych bajtów; w przeciwnym razie nieprawidłowy Socket błąd.

Wyjątki

asyncResult to null.

asyncResult element nie został zwrócony przez wywołanie BeginSendTo(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object) metody .

EndSendTo(IAsyncResult) wcześniej było wywoływane dla wysyłania asynchronicznego.

Wystąpił błąd podczas próby uzyskania dostępu do gniazda.

-lub-

Tylko platforma .NET 7+ : element Socket został zamknięty.

tylko .NET Framework, .NET Core i .NET 5-6: element Socket został zamknięty.

Uwagi

Ważne

Jest to interfejs API zgodności. Nie zalecamy używania metod APM (Begin* i End*) do tworzenia nowych rozwiązań. Zamiast tego należy użyć odpowiedników opartych na Taskparametrach .

EndSendTo kończy operację rozpoczętą przez BeginSendTo. Należy przekazać IAsyncResult utworzony przez pasujące BeginSendTo wywołanie.

Jeśli używasz protokołu bez połączenia, EndSendTo będzie blokowany do momentu wysłania datagramu. Jeśli używasz protokołu zorientowanego na połączenie, EndSendTo zostanie zablokowany do momentu wysłania żądanej liczby bajtów. Nie ma gwarancji, że wysyłane dane zostaną natychmiast wyświetlone w sieci. Aby zwiększyć wydajność sieci, podstawowy system może opóźnić transmisję do momentu zebrania znacznej ilości wychodzących danych. Pomyślne ukończenie BeginSendTo metody oznacza, że podstawowy system miał miejsce do buforowania danych dla wysyłania sieciowego.

Uwaga

Jeśli zostanie wyświetlony element SocketException, użyj SocketException.ErrorCode właściwości , aby uzyskać określony kod błędu. Po uzyskaniu tego kodu zapoznaj się z dokumentacją kodu błędu interfejsu API Windows Sockets w wersji 2 , aby uzyskać szczegółowy opis błędu.

Uwaga

Ten element członkowski generuje informacje ze śledzenia pod warunkiem włączenia funkcji śledzenia sieci w aplikacji. Aby uzyskać więcej informacji, zobacz Śledzenie sieci w .NET Framework.

Dotyczy