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
Element IAsyncResult , który odwołuje się do tworzenia asynchronicznego Socket .
Wyjątki
Socket Obiekt został zamknięty.
Gniazdo akceptujące nie nasłuchuje połączeń. Musisz wywołać metodę Bind(EndPoint) i Listen(Int32) przed wywołaniem metody BeginAccept(AsyncCallback, Object).
-lub-
Zaakceptowane gniazdo jest powiązane.
receiveSize
wartość jest mniejsza niż 0.
.NET Framework i .NET 5 i starsze 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 nowego programowania. Zamiast tego należy użyć Task
odpowiedników opartych na protokole .
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ń połączeń przychodzących i kolejkować je.
Możesz przekazać wywołanie zwrotne implementujące AsyncCallback polecenie 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 CompletedSynchronously właściwość zwrócona IAsyncResult zostanie ustawiona na wartość , aby wskazać true
, że metoda została ukończona synchronicznie.
AsyncState Użyj właściwości obiektu , 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 podanego AsyncCallback delegata. EndAccept zablokuje wątek wywołujący do momentu ukończenia operacji.
Aby anulować oczekujące wywołanie metody BeginAccept , zamknij polecenie Socket. Close Gdy metoda jest wywoływana, gdy trwa operacja asynchroniczna, wywołanie zwrotne dostarczone do BeginAccept metody jest wywoływane. Kolejne wywołanie EndAccept metody spowoduje zgłoszenie (przed platformą ObjectDisposedException .NET 7) lub SocketException (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 hosta zdalnego i numer portu.
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 Socket wystąpienia i określonego 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
Element IAsyncResult , który odwołuje się do tworzenia asynchronicznego Socket .
Wyjątki
Socket Obiekt został zamknięty.
Gniazdo akceptujące nie nasłuchuje połączeń. Musisz wywołać metodę Bind(EndPoint) i Listen(Int32) przed wywołaniem metody BeginAccept(AsyncCallback, Object).
-lub-
Zaakceptowane gniazdo jest powiązane.
receiveSize
wartość jest mniejsza niż 0.
.NET Framework i .NET 5 i starsze 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 nowego programowania. Zamiast tego należy użyć Task
odpowiedników opartych na protokole .
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ń połączeń przychodzących i kolejkować je.
Możesz przekazać wywołanie zwrotne implementujące AsyncCallback polecenie 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 CompletedSynchronously właściwość zwrócona IAsyncResult zostanie ustawiona na wartość , aby wskazać true
, że metoda została ukończona synchronicznie.
AsyncState Użyj właściwości obiektu , 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 podanego AsyncCallback delegata. EndAccept zablokuje wątek wywołujący do momentu ukończenia operacji.
Aby anulować oczekujące wywołanie metody BeginAccept , zamknij polecenie Socket. Close Gdy metoda jest wywoływana, gdy trwa operacja asynchroniczna, wywołanie zwrotne dostarczone do BeginAccept metody jest wywoływane. Kolejne wywołanie EndAccept metody spowoduje zgłoszenie (przed platformą ObjectDisposedException .NET 7) lub SocketException (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 hosta zdalnego i numer portu.
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 Socket wystąpienia i określonego 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
Socket Obiekt został zamknięty.
Gniazdo akceptujące nie nasłuchuje połączeń. Musisz wywołać metodę Bind(EndPoint) i Listen(Int32) przed wywołaniem metody BeginAccept(AsyncCallback, Object).
-lub-
Zaakceptowane gniazdo jest powiązane.
receiveSize
wartość jest mniejsza niż 0.
.NET Framework i .NET 5 i starsze 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