Язык C: Проблема «невозможно привязаться к порту» (Windows)


Иногда процесс работы вашей программы может застопориться и вызвать ошибку, подобную этой:

Couldn’t bind to the port

Итак, у нас есть подобная проверка в коде C:

if (bind (socket_desc, (struct sockaddr*)&server_addr, sizeof(server_addr)) < 0)
printf("Couldn't bind to the port\n");

И он возвращает отрицательное значение. Как это исправить?

  1. найдите, какой процесс использует этот порт через cmd:
    netstat -ano | findstr :<port number>
    Пример:
    C:\Users\n>netstat -ano | findstr :2000
    Видим там:
    TCP 127.0.0.1:2000 0.0.0.0:0 LISTENING 3560
  2. последнее число — это идентификатор процесса. Чтобы убить процесс:
    taskkill /pid <process ID> /F
    Пример:
    C:\Users\n>taskkill /pid 3560 /F
    SUCCESS: The process with PID 3560 has been terminated.

Ура! Получилось 🙂


Запись опубликована в рубрике С (Си). Добавьте в закладки постоянную ссылку.

Добавить комментарий

🇬🇧 Attention! Comments with URLs/email are not allowed.
🇷🇺 Комментарии со ссылками/email удаляются автоматически.