Исправить ошибку сокета Python 48

Ошибка сокета 48 — это ошибка Python, которая возникает, когда процесс пытается привязать себя к порту, который уже используется.

Серверы

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Что вызывает ошибку «socket.error: (Errno 48) Адрес уже используется»?

После недолгих исследований мы выяснили, что причины заключаются в следующем:

  • Процесс, привязанный к порту: всякий раз, когда процесс создается на сервере, порт используется им для связи с Интернетом. Порт похож на хозяина, который может одновременно принимать одного гостя. Однако если вы не укажете порт, сервер просто создаст его на порту по умолчанию. В следующий раз, когда вы создадите процесс, необходимо указать порт, поскольку порт по умолчанию уже используется.

Решение 1. Указание номера порта

Ошибка чаще всего возникает, когда человек пытается привязать определенный процесс к порту по умолчанию, а порт по умолчанию уже привязан к другому процессу. Поэтому на этом этапе мы укажем порт, к которому должен быть привязан процесс.

  1. Скорее всего, вы используете следующую команду для создания процесса. $ python -m SimpleHTTPServer
  2. Вместо этого используйте эту команду для создания процесса. $ python -m SimpleHTTPServer (номер порта)
  3. Подождите, пока процесс будет создан, и проверьте, сохраняется ли проблема.

Решение 2. Освобождение порта

Если порт уже используется другим процессом, новый процесс не сможет работать на этом порту. Поэтому на этом этапе мы освободим порт, завершив предыдущий процесс и запустив новый. Для этого:

  1. Используйте следующую команду, чтобы получить список процессов, использующих определенный порт. $ ps -fA | греп питон
  2. Аргумент команды будет выглядеть примерно так, как показано в следующих строках. 601 88234 12788 0 21:53 ttys000 0:00.16 python -m SimpleHTTPServer
  3. Исходя из этого, код процесса, который мы будем использовать для уничтожения, — «88234».
  4. Используйте следующую команду, чтобы завершить процесс.kill 88234

    Альтернативно вы можете использовать следующую команду, чтобы убить его.

    sudo kill -9 PID

  5. Теперь вы можете привязать процесс к этому порту с помощью следующей команды. $ python -m SimpleHTTPServer (номер порта)
  6. Теперь процесс будет создан.

Решение 3. Перезапуск Raspberry Pi (только для Raspberry Pi)

Вы можете избавиться от этой ошибки на Raspberry Pi, перезапустив Raspberry Pi или уничтожив оболочку терминала. Raspberry Pi иногда не может автоматически завершить процессы и вызывает эту ошибку из-за того, что предыдущие процессы уже выполнялись на портах.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *