Ayusin ang Error ng Python Socket 48



Subukan Ang Aming Instrumento Para Sa Pagtanggal Ng Mga Problema

Ang Socket Error 48 ay isang error sa sawa na na-trigger kapag sinusubukan ng proseso na itali ang sarili nito sa isang port na ginagamit na.



Mga server



Ano ang Sanhi ng 'socket.error: [Errno 48] Address na ginagamit na' Error?

Pagkatapos ng maikling pananaliksik, nalaman namin ang mga sanhi na:



  • Iproseso ang Bound sa Port: Tuwing may isang proseso na nilikha sa server, isang port ang ginagamit nito upang makipag-usap sa internet. Ang port ay tulad ng isang host na maaaring aliwin ang isang panauhin nang paisa-isa. Gayunpaman, kung hindi ka tumukoy ng isang port, lilikha lamang ito ng server sa default port. Sa susunod na lumikha ka ng isang proseso, kailangang tukuyin ang isang port dahil ang default port ay ginagamit na.

Solusyon 1: Pagtukoy sa Bilang ng Port

Ang error ay madalas na ma-trigger kapag ang isang tao ay sumusubok na itali ang isang tukoy na proseso sa default port at ang default port ay nakagapos na sa ibang proseso. Samakatuwid, sa hakbang na ito, tutukuyin namin ang port kung saan ang proseso ay nalilimitahan.

  1. Malamang, gumagamit ka ng sumusunod na utos upang lumikha ng isang proseso.
    $ python -m SimpleHTTPServer
  2. Sa halip na ito, gamitin ang utos na ito upang lumikha ng isang proseso.
    $ python -m SimpleHTTPServer (Port Number)
  3. Hintaying malikha ang proseso at suriin kung mananatili ang isyu.

Solusyon 2: Pagpapalaya sa Port

Kung ang daungan ginagamit na ng ibang proseso, ang bagong proseso ay hindi magagawang gumana sa port na iyon. Samakatuwid, sa hakbang na ito, ililibre namin ang port sa pamamagitan ng pagtatapos ng nakaraang proseso at pagkatapos ay patakbuhin ang bago. Para doon:

  1. Gamitin ang sumusunod na utos upang ilista ang isang bilang ng mga proseso gamit ang isang tukoy na port.
    $ ps -fA | grep python
  2. Ang utos ng utos ay magmumukhang isang bagay tulad ng mga sumusunod na linya.
    601 88234 12788 0 9:53 PM ttys000 0: 00.16 python -m SimpleHTTPServer
  3. Sa labas nito, ang code ng proseso na gagamitin namin upang pumatay ay '88234'.
  4. Gamitin ang sumusunod na utos upang patayin ang proseso.
    pumatay 88234

    Bilang kahalili, maaari mong gamitin ang sumusunod na utos upang patayin ito.



    sudo pumatay -9 PID
  5. Maaari mo nang maiugnay ang proseso sa port na ito sa pamamagitan ng paggamit ng sumusunod na utos.
    $ python -m SimpleHTTPServer (Port Number)
  6. Malilikha ang proseso.

Solusyon 3: Pag-restart ng Raspberry Pi (Para lamang sa Raspberry Pi)

Maaari mong alisin ang error na ito sa Raspberry Pi sa pamamagitan ng pag-restart ng Raspberry Pi o sa pamamagitan ng pagpatay sa terminal shell. Ang Raspberry Pi minsan ay hindi kayang patayin ang mga proseso nang awtomatiko at nagpapalitaw ng error na ito dahil sa mga nakaraang proseso na tumatakbo na sa mga port.

1 minuto basahin