Używam Winsock pod VS 2008.odblokować Zablokowane Winsock accept() Zadzwoń
Mam wątek poświęcony przyjmowania przychodzących żądań połączeń TCP poprzez wywołanie blokującej zaakceptować(). Gdy nadejdzie czas zamknięcia mojej aplikacji, muszę jakoś odblokować ten wątek, aby mógł wykonać swoją pracę i zakończyć działanie. Czy istnieje sposób, w jaki mogę odblokować accept()?
Zamieścę kolejne pytanie na wypadek, gdyby nie było sposobu odblokowania accept(). Pytanie brzmi: jeśli wykonam ciężkie zabójstwo wątku zablokowanego w funkcji accept(), czy coś złego się stanie (uszkodzenie struktur danych systemu operacyjnego itp.)?
Dzięki Dave
Nie możesz zamknąć gniazda, w którym jesteś zablokowany? Spowoduje to powrót 'accept()'. – tribeca
IME, po prostu zamknięcie aplikacji, gdy funkcja accept() jest zablokowana, jest w porządku. System operacyjny wyczyści i nic się nie zepsuje. Jeśli naprawdę, absolutnie musisz jawnie wyczyścić, a następnie zamknąć gniazdo z innego wątku, jak sugerują inne plakaty. –