В последнем семестре я занял компьютерную сеть и проделал некоторое программирование на C в Linux (используя gcc) для моих проектов. Одна очень утомительная вещь, с которой я столкнулся, заключалась в том, что если моя программа разбилась или заглохла (мне тогда пришлось бы нажать Ctrl + C, чтобы ее убить), сетевой порт все равно оставался открытым на минуту или около того. Поэтому, если я захочу снова запустить программу снова, мне придется сначала перейти в файл заголовка, изменить порт, переделать программу и затем запустить ее. Очевидно, это очень утомительно очень быстро.Как предотвратить порты сети, оставшиеся открытыми при сбое программы
Есть ли способ настроить его, когда порт сразу же освобождается, как только процесс будет убит? Либо через некоторые настройки в Linux, либо в make-файле для моей программы, или даже программно в C?
Редактировать: Я имею в виду при написании сервера и выборе конкретного порта для размещения программы.
Вы можете обойти эту проблему путем выбора случайного порта, и печать его на исполнение. – Tordek
@Tordek Хорошая точка, но я просто собираюсь отметить здесь для потомков, что если вы это сделаете, вам нужно выбрать безопасный диапазон, чтобы вы не наткнулись на какие-либо стандартные порты. – JoeCool
Ну, да ... беззаботно избегайте может заставить вас шагнуть на собаку ... – Tordek