Ответ 1
У вас есть несколько вариантов:
- Закройте прослушивающий сокет из другого потока -
accept()
вызовет исключение, если оно не выполнено. - Откройте локальное подключение к гнезду для прослушивания - это приведет к возврату
accept()
по дизайну. - Используйте механизм accept, который может блокировать более одного объекта синхронизации, чтобы ожидание могло быть передано без возврата.
- Используйте неблокирующую альтернативу
accept()
, (async какAcceptEx()
и перекрытие ввода-вывода в Windows).