Коригирайте грешка в сокета на Python 48



Опитайте Нашия Инструмент За Премахване На Проблемите

Socket Error 48 е грешка на python, която се задейства, когато процесът се опитва да се обвърже с порт, който вече се използва.



Сървъри



Какво причинява грешката „socket.error: [Errno 48] Address Već се използва“?

След кратко проучване установихме, че причините са:



  • Процес, свързан към порт: Винаги, когато на сървъра се създаде процес, от него се използва порт за комуникация с интернет. Портът е като домакин, който може да забавлява по един гост наведнъж. Ако обаче не посочите порт, сървърът просто го създава на порта по подразбиране. Следващият път, когато създавате процес, трябва да се посочи порт, тъй като портът по подразбиране вече се използва.

Решение 1: Посочване на номер на порт

Грешката се задейства най-вече, когато човек се опитва да обвърже определен процес към порта по подразбиране и портът по подразбиране вече е свързан с различен процес. Следователно, в тази стъпка ще посочим порта, на който процесът трябва да бъде ограничен.

  1. Шансовете са, че използвате следната команда, за да създадете процес.
    $ python -m SimpleHTTPServer
  2. Вместо това, използвайте тази команда, за да създадете процес.
    $ python -m SimpleHTTPServer (Номер на порта)
  3. Изчакайте процеса да бъде създаден и проверете дали проблемът продължава.

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

Ако пристанище вече се използва от различен процес, новият процес няма да може да функционира на този порт. Следователно в тази стъпка ще освободим порта чрез прекратяване на предишния процес и след това стартиране на новия. За това:

  1. Използвайте следната команда, за да изброите няколко процеса, използващи определен порт.
    $ ps -fA | grep python
  2. Аргументът на командата ще изглежда нещо като следните редове.
    601 88234 12788 0 21:53 ttys000 0: 00.16 python -m SimpleHTTPServer
  3. От това кодът на процеса, който ще използваме за убиване, е „88234“.
  4. Използвайте следната команда, за да убиете процеса.
    убий 88234

    Като алтернатива можете да използвате следната команда, за да я убиете.



    sudo kill -9 PID
  5. Вече можете да обвържете процеса с този порт, като използвате следната команда.
    $ python -m SimpleHTTPServer (Номер на порта)
  6. Сега процесът ще бъде създаден.

Решение 3: Рестартиране на Raspberry Pi (само за Raspberry Pi)

Можете да се отървете от тази грешка на Raspberry Pi чрез рестартиране на Raspberry Pi или чрез убиване на черупката на терминала. Raspberry Pi понякога не може автоматично да убива процесите и задейства тази грешка поради предишните процеси, които вече се изпълняват на портовете.

1 минута четене