У меня есть асинхронный сервер сокета TCP и клиент.
Клиент подключается к серверу и отправляет данные по циклу (например).
Сервер получает все хорошо, и все хорошо,
но потом … клиент принудительно закрывается (иначе, могучим диспетчером задач, через конечный процесс мной).
Клиент умирает (очевидно), а сервер выполняет X команд, чтобы правильно закрыть / избавиться от сокета.
Затем я снова открываю client.exe, он пытается автоматически подключиться снова и бум, ошибка: соединение было активно отклонено удаленным хостом.
ВОПРОСЫ:
(1) — я пробовал socket-> Disconnect (true) / close / shutdown, но ничего из этого не работает.
НОТА:
Я пытался изменить окна Keepalive в 5 минут, не имел эффекта.
Я пробовал SocketOptionLevel :: Socket и установил Keepalive к истине. Нет кости.
Я пробовал SocketOptionLevel :: Socket и установил задерживаться до 0. Никаких кубиков.
Я пробовал SocketOptionLevel :: Socket и установил DontLinger к истине. Нет кости.
Я даже пытался ВСЕ из вышеперечисленного, и все же я не могу подключиться к серверу.
Нет IP-адреса, ни изменения порта для клиента / сервера, и ни мне не нужно их менять по причинам.
Любая помощь будет оценена!
Нвм, я дебил, я это исправил.
Оказывается, это была ошибка в AcceptClient (асинхронном), где один bool не срабатывал должным образом.
Спасибо за помощь. ^^
Других решений пока нет …