Всем доброго утра! Хочу уточнить несколько деталей при работе с Windows Sockets 2. В первую очередь хочу проконсультироваться по поводу ошибок и как вести себя программе, в случае их возникновения. Сразу весь список вопросов писать не буду, буду выкладывать последовательно. И так, приступим! Представим себе такую ситуацию. В системе имеется одна сетевая карта. Компьютер подключён к Интернету через PPPoE. Я запускаю программу и она инициализирует работу с библиотекой Windows Sockets 2 через функцию WSAStartup(). Далее она создаёт два TCP-сокета и обоих подключает через connect() к разным серверам (кстати, до подключения не используется связывание через функцию bind(), так как в случае клиентского сокета, связывание произойдёт автоматически при подключении). Далее уже программа отправляет/принимает данные через эти сокеты двум разным серверам. И на одном из сокетов происходит ошибка в результате выполнения одной из функций Windows Sockets 2. Функция вернула SOCKET_ERROR. Через WSAGetLastError() я получаю код ошибки. Он равен WSAENETDOWN. Пропустим это сообщение через FormatMessage(), я получу: Код (Text): Операция на сокете обнаружила отключение сети. Что делать программе? Понятное дело что данному сокету пришёл конец. Вопрос в следующем: можно смело завершать работу с двумя сокетами? Просто я не понимаю суть ошибки. Означает ли она что разорвано соединение с Интернетом или там что-то с сетевой картой стало. Я ведь специально привёл пример с одной сетевой картой. Было бы у меня их две и сокеты прикреплены к разным картам, тогда уже можно было бы продолжить работу другого сокета? В чём соль: по сути можно ждать ошибку для каждого сокета. Но я пишу для себя сетевой движок для работы с TCP-сокетами. Он уже практически написан, осталось лишь правильно обрабатывать ошибки. И если пользователь создаст 20 сокетов, я не хочу чтобы ему приходило 20 раз сообщение для каждого сокета, когда можно было бы объединить все эти сообщения в одно - типа накрылась сеть. Что вообще означает данная ошибка?
Извиняюсь что разместил тему в этом разделе, не заметил раздел WASM.NETWORKS. Модератор, перенеси, пожалуйста.