Serwer IOCP
Akceptor portów uzupełniania I/O systemu Windows dla wysokiej współbieżności. Przełącz serwer sgcWebSockets na IOHandler IOCP i obsługuj tysiące połączeń z małej, stałej puli wątków zamiast jednego wątku na połączenie.
Akceptor portów uzupełniania I/O systemu Windows dla wysokiej współbieżności. Przełącz serwer sgcWebSockets na IOHandler IOCP i obsługuj tysiące połączeń z małej, stałej puli wątków zamiast jednego wątku na połączenie.
Tryb portów uzupełniania I/O wyłącznie dla systemu Windows dla standardowych serwerów sgcWebSockets. Włącz go poprzez IOHandlerOptions, aby skalować daleko poza domyślny model Indy z jednym wątkiem na połączenie.
TsgcWebSocketServer / TsgcWebSocketHTTPServer — włączane przez IOHandlerOptions.
Porty uzupełniania I/O systemu Windows (tylko Windows).
Windows
Enterprise
Przejdź do właściwości IOHandlerOptions i wybierz iohIOCP jako typ IOHandler. Pozostaw liczbę wątków na zero, aby automatycznie dobrać ją na podstawie liczby procesorów.
Server.IOHandlerOptions.IOHandlerType := iohIOCP;
Server.IOHandlerOptions.IOCP.IOCPThreads := 0;
Server.IOHandlerOptions.IOCP.WorkOpThreads := 0;
Server->IOHandlerOptions->IOHandlerType = iohIOCP;
Server->IOHandlerOptions->IOCP->IOCPThreads = 0;
Server->IOHandlerOptions->IOCP->WorkOpThreads = 0;
Server.IOHandlerOptions.IOHandlerType = iohIOCP;
Server.IOHandlerOptions.IOCP.IOCPThreads = 0;
Server.IOHandlerOptions.IOCP.WorkOpThreads = 0;
Jak zachowuje się IOHandler IOCP i jak go dostroić.
Obsługuj tysiące połączeń z ograniczonej puli wątków zamiast jednego wątku na połączenie, jak domyślnie działa Indy.
Wątki używane do asynchronicznych (nakładanych) żądań IOCP. Wartość 0 automatycznie dobiera je na podstawie liczby procesorów. W Delphi 7 i 2007 domyślną wartością jest 32, ponieważ cpucount nie jest dostępne.
Przypnij połączenie do tego samego wątku, gdy tego potrzebujesz. Żądania są zwykle rozdzielane po puli, więc każde żądanie dla połączenia może działać na innym wątku. Ustaw wartość większą od zera tylko wtedy, gdy tego wymagasz. To kompromis wydajnościowy.
Zalecane, gdy musisz obsługiwać tysiące połączeń. Jeśli twój serwer osiąga maksimum w okolicach 100 jednoczesnych połączeń, domyślny model wątków Indy jest w porządku.
IOCP wykrywa martwe gniazdo tylko przy zapisie. Włącz CleanDisconnect na TsgcWebSocketClient lub heartbeat po stronie serwera, aby serwer dowiedział się o zerwaniu i wywołał OnDisconnect.
Wiarygodne źródła dla mechanizmu, na którym zbudowany jest ten tryb.
Przejdź bezpośrednio do dokumentacji funkcji, pobierz gotowy do uruchomienia projekt demo i wersję próbną.
| Pomoc online — IOCP Dokumentacja funkcji włączania portów uzupełniania I/O systemu Windows na serwerze sgcWebSockets. | Otwórz | |
| Projekt demo — Demos\Server Gotowy do uruchomienia projekt przykładowy. Dostarczany w pakiecie sgcWebSockets — pobierz wersję próbną poniżej. | Otwórz | |
| Podręcznik użytkownika (PDF) Kompleksowy podręcznik obejmujący każdy komponent w bibliotece. | Otwórz |