Socket.BeginAccept Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Rozpoczyna operację asynchroniczną, aby zaakceptować próbę połączenia przychodzącego.
Przeciążenia
BeginAccept(AsyncCallback, Object) |
Rozpoczyna operację asynchroniczną, aby zaakceptować próbę połączenia przychodzącego. |
BeginAccept(Int32, AsyncCallback, Object) |
Rozpoczyna operację asynchroniczną w celu zaakceptowania próby połączenia przychodzącego i odebrania pierwszego bloku danych wysyłanych przez aplikację kliencką. |
BeginAccept(Socket, Int32, AsyncCallback, Object) |
Rozpoczyna operację asynchroniczną, aby zaakceptować próbę połączenia przychodzącego z określonego gniazda i odbiera pierwszy blok danych wysyłanych przez aplikację kliencką. |
BeginAccept(AsyncCallback, Object)
- Źródło:
- Socket.cs
- Źródło:
- Socket.cs
- Źródło:
- Socket.cs
Rozpoczyna operację asynchroniczną, aby zaakceptować próbę połączenia przychodzącego.
public:
IAsyncResult ^ BeginAccept(AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAccept (AsyncCallback? callback, object? state);
public IAsyncResult BeginAccept (AsyncCallback callback, object state);
member this.BeginAccept : AsyncCallback * obj -> IAsyncResult
Public Function BeginAccept (callback As AsyncCallback, state As Object) As IAsyncResult
Parametry
- callback
- AsyncCallback
Delegat AsyncCallback .
- state
- Object
Obiekt zawierający informacje o stanie dla tego żądania.
Zwraca
Obiekt IAsyncResult , który odwołuje się do tworzenia asynchronicznego Socket .
Wyjątki
Obiekt Socket został zamknięty.
Akceptowanie gniazda nie nasłuchuje połączeń. Przed wywołaniem metody należy wywołać metodę Bind(EndPoint) i Listen(Int32) .BeginAccept(AsyncCallback, Object)
-lub-
Zaakceptowane gniazdo jest powiązane.
receiveSize
wartość jest mniejsza niż 0.
.NET Framework i .NET 5 i starszych tylko: wystąpił błąd podczas próby uzyskania dostępu do gniazda.
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 Task
parametrach .
Protokoły zorientowane na połączenia mogą użyć BeginAccept metody , aby rozpocząć akceptowanie prób połączenia przychodzącego. Przed wywołaniem metody należy wywołać metodę BeginAcceptListen , aby nasłuchiwać żądań przychodzących połączeń i kolejkować je.
Możesz przekazać wywołanie zwrotne, które implementuje AsyncCallback element , BeginAccept aby otrzymywać powiadomienia o zakończeniu operacji akceptowania. Należy pamiętać, że jeśli bazowy stos sieciowy ukończy operację synchronicznie, wywołanie zwrotne może zostać wykonane w tekście podczas wywołania metody BeginAccept. W takim przypadku właściwość zwrócona IAsyncResult zostanie ustawiona na wartość , aby wskazaćtrue
, CompletedSynchronously że metoda została ukończona synchronicznie. AsyncState Użyj właściwości , IAsyncResult aby uzyskać obiekt stanu przekazany do BeginAccept metody .
Operacja musi zostać ukończona BeginAccept przez wywołanie EndAccept metody . Zazwyczaj metoda jest wywoływana przez dostarczonego AsyncCallback delegata. EndAccept Zablokuje wątek wywołujący do momentu ukończenia operacji.
Aby anulować oczekujące wywołanie BeginAccept metody , zamknij metodę Socket. Close Gdy metoda jest wywoływana, gdy operacja asynchroniczna jest w toku, wywołanie zwrotne podane do BeginAccept metody jest wywoływane. Kolejne wywołanie EndAccept metody spowoduje zgłoszenie (przed platformą ObjectDisposedExceptionSocketException .NET 7) lub (na platformie .NET 7+), aby wskazać, że operacja została anulowana.
Uwaga
Możesz użyć RemoteEndPoint właściwości zwróconej Socket , aby zidentyfikować adres sieciowy i numer portu hosta zdalnego.
Uwaga
Jeśli zostanie wyświetlony element SocketException, użyj SocketException.ErrorCode właściwości , aby uzyskać określony kod 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.
Uwaga
Kontekst wykonywania (kontekst zabezpieczeń, personifikowany użytkownik i kontekst wywołujący) jest buforowany dla metod asynchronicznych Socket . Po pierwszym użyciu określonego kontekstu (konkretnej metody asynchronicznej Socket , określonego wystąpienia i określonego Socket wywołania zwrotnego), kolejne zastosowania tego kontekstu zobaczą poprawę wydajności.
Zobacz też
- Listen(Int32)
- AsyncCallback
- EndAccept(IAsyncResult)
- Socket
- RemoteEndPoint
- Przykład asynchronicznego gniazda klienta
- Przykład asynchronicznego gniazda serwera
Dotyczy
BeginAccept(Int32, AsyncCallback, Object)
- Źródło:
- Socket.cs
- Źródło:
- Socket.cs
- Źródło:
- Socket.cs
Rozpoczyna operację asynchroniczną w celu zaakceptowania próby połączenia przychodzącego i odebrania pierwszego bloku danych wysyłanych przez aplikację kliencką.
public:
IAsyncResult ^ BeginAccept(int receiveSize, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAccept (int receiveSize, AsyncCallback? callback, object? state);
public IAsyncResult BeginAccept (int receiveSize, AsyncCallback callback, object state);
member this.BeginAccept : int * AsyncCallback * obj -> IAsyncResult
Public Function BeginAccept (receiveSize As Integer, callback As AsyncCallback, state As Object) As IAsyncResult
Parametry
- receiveSize
- Int32
Liczba bajtów do zaakceptowania przez nadawcę.
- callback
- AsyncCallback
Delegat AsyncCallback .
- state
- Object
Obiekt zawierający informacje o stanie dla tego żądania.
Zwraca
Obiekt IAsyncResult , który odwołuje się do tworzenia asynchronicznego Socket .
Wyjątki
Obiekt Socket został zamknięty.
Akceptowanie gniazda nie nasłuchuje połączeń. Przed wywołaniem metody należy wywołać metodę Bind(EndPoint) i Listen(Int32) .BeginAccept(AsyncCallback, Object)
-lub-
Zaakceptowane gniazdo jest powiązane.
receiveSize
wartość jest mniejsza niż 0.
.NET Framework i .NET 5 i starszych tylko: wystąpił błąd podczas próby uzyskania dostępu do gniazda.
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 Task
parametrach .
Protokoły zorientowane na połączenia mogą użyć BeginAccept metody , aby rozpocząć akceptowanie prób połączenia przychodzącego. Przed wywołaniem metody należy wywołać metodę BeginAcceptListen , aby nasłuchiwać żądań przychodzących połączeń i kolejkować je.
Możesz przekazać wywołanie zwrotne, które implementuje AsyncCallback element , BeginAccept aby otrzymywać powiadomienia o zakończeniu operacji akceptowania. Należy pamiętać, że jeśli bazowy stos sieciowy ukończy operację synchronicznie, wywołanie zwrotne może zostać wykonane w tekście podczas wywołania metody BeginAccept. W takim przypadku właściwość zwrócona IAsyncResult zostanie ustawiona na wartość , aby wskazaćtrue
, CompletedSynchronously że metoda została ukończona synchronicznie. AsyncState Użyj właściwości , IAsyncResult aby uzyskać obiekt stanu przekazany do BeginAccept metody .
Operacja musi zostać ukończona BeginAccept przez wywołanie EndAccept metody . Zazwyczaj metoda jest wywoływana przez dostarczonego AsyncCallback delegata. EndAccept Zablokuje wątek wywołujący do momentu ukończenia operacji.
Aby anulować oczekujące wywołanie BeginAccept metody , zamknij metodę Socket. Close Gdy metoda jest wywoływana, gdy operacja asynchroniczna jest w toku, wywołanie zwrotne podane do BeginAccept metody jest wywoływane. Kolejne wywołanie EndAccept metody spowoduje zgłoszenie (przed platformą ObjectDisposedExceptionSocketException .NET 7) lub (na platformie .NET 7+), aby wskazać, że operacja została anulowana.
Uwaga
Możesz użyć RemoteEndPoint właściwości zwróconej Socket , aby zidentyfikować adres sieciowy i numer portu hosta zdalnego.
Uwaga
Jeśli zostanie wyświetlony element SocketException, użyj SocketException.ErrorCode właściwości , aby uzyskać określony kod 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.
Uwaga
Kontekst wykonywania (kontekst zabezpieczeń, personifikowany użytkownik i kontekst wywołujący) jest buforowany dla metod asynchronicznych Socket . Po pierwszym użyciu określonego kontekstu (konkretnej metody asynchronicznej Socket , określonego wystąpienia i określonego Socket wywołania zwrotnego), kolejne zastosowania tego kontekstu zobaczą poprawę wydajności.
Zobacz też
- Listen(Int32)
- AsyncCallback
- EndAccept(IAsyncResult)
- Socket
- RemoteEndPoint
- Przykład asynchronicznego gniazda klienta
- Przykład asynchronicznego gniazda serwera
Dotyczy
BeginAccept(Socket, Int32, AsyncCallback, Object)
- Źródło:
- Socket.cs
- Źródło:
- Socket.cs
- Źródło:
- Socket.cs
Rozpoczyna operację asynchroniczną, aby zaakceptować próbę połączenia przychodzącego z określonego gniazda i odbiera pierwszy blok danych wysyłanych przez aplikację kliencką.
public:
IAsyncResult ^ BeginAccept(System::Net::Sockets::Socket ^ acceptSocket, int receiveSize, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAccept (System.Net.Sockets.Socket? acceptSocket, int receiveSize, AsyncCallback? callback, object? state);
public IAsyncResult BeginAccept (System.Net.Sockets.Socket acceptSocket, int receiveSize, AsyncCallback callback, object state);
member this.BeginAccept : System.Net.Sockets.Socket * int * AsyncCallback * obj -> IAsyncResult
Public Function BeginAccept (acceptSocket As Socket, receiveSize As Integer, callback As AsyncCallback, state As Object) As IAsyncResult
Parametry
- receiveSize
- Int32
Maksymalna liczba bajtów do odebrania.
- callback
- AsyncCallback
Delegat AsyncCallback .
- state
- Object
Obiekt zawierający informacje o stanie dla tego żądania.
Zwraca
Obiekt IAsyncResult , który odwołuje się do tworzenia obiektu asynchronicznego Socket .
Wyjątki
Obiekt Socket został zamknięty.
Akceptowanie gniazda nie nasłuchuje połączeń. Przed wywołaniem metody należy wywołać metodę Bind(EndPoint) i Listen(Int32) .BeginAccept(AsyncCallback, Object)
-lub-
Zaakceptowane gniazdo jest powiązane.
receiveSize
wartość jest mniejsza niż 0.
.NET Framework i .NET 5 i starszych tylko: wystąpił błąd podczas próby uzyskania dostępu do gniazda.
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 Task
parametrach .
Protokoły zorientowane na połączenia mogą użyć BeginAccept metody , aby rozpocząć akceptowanie prób połączenia przychodzącego. Wynikowa operacja akceptowania jest reprezentowana przez zwrócony IAsyncResult , mimo że może zostać ukończona synchronicznie. Przed wywołaniem metody należy wywołać metodę BeginAcceptListen , aby nasłuchiwać żądań przychodzących połączeń i kolejkować je.
Możesz przekazać wywołanie zwrotne, które implementuje AsyncCallback element , BeginAccept aby otrzymywać powiadomienia o zakończeniu operacji akceptowania. Należy pamiętać, że jeśli bazowy stos sieciowy ukończy operację synchronicznie, wywołanie zwrotne może zostać wykonane w tekście podczas wywołania metody BeginAccept. W takim przypadku właściwość zwrócona IAsyncResult zostanie ustawiona na wartość , aby wskazaćtrue
, CompletedSynchronously że metoda została ukończona synchronicznie. AsyncState Użyj właściwości , IAsyncResult aby uzyskać obiekt stanu przekazany do BeginAccept metody .
Operacja musi zostać ukończona BeginAccept przez wywołanie EndAccept metody . Zazwyczaj metoda jest wywoływana przez dostarczonego AsyncCallback delegata. EndAccept Zablokuje wątek wywołujący do momentu ukończenia operacji.
Aby anulować oczekujące wywołanie BeginAccept metody , zamknij metodę Socket. Close Gdy metoda jest wywoływana, gdy operacja asynchroniczna jest w toku, wywołanie zwrotne podane do BeginAccept metody jest wywoływane. Kolejne wywołanie EndAccept metody spowoduje zgłoszenie (przed platformą ObjectDisposedExceptionSocketException .NET 7) lub (na platformie .NET 7+), aby wskazać, że operacja została anulowana.
Uwaga
Możesz użyć RemoteEndPoint właściwości zwróconej Socket , aby zidentyfikować adres sieciowy i numer portu hosta zdalnego.
Uwaga
Jeśli zostanie wyświetlony element SocketException, użyj SocketException.ErrorCode właściwości , aby uzyskać określony kod 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.
Uwaga
Kontekst wykonywania (kontekst zabezpieczeń, personifikowany użytkownik i kontekst wywołujący) jest buforowany dla metod asynchronicznych Socket . Po pierwszym użyciu określonego kontekstu (konkretnej metody asynchronicznej Socket , określonego wystąpienia i określonego Socket wywołania zwrotnego), kolejne zastosowania tego kontekstu zobaczą poprawę wydajności.
Zobacz też
- Listen(Int32)
- AsyncCallback
- EndAccept(IAsyncResult)
- Socket
- RemoteEndPoint
- Przykład asynchronicznego gniazda klienta
- Przykład asynchronicznego gniazda serwera
Dotyczy
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla