Ispravite pogrešku Python utičnice 48



Isprobajte Naš Instrument Za Uklanjanje Problema

Socket Error 48 je python pogreška koja se pokreće kada se proces pokušava povezati s priključkom koji je već u upotrebi.



Poslužitelji



Što uzrokuje pogrešku 'socket.error: [Errno 48] Adresa se već koristi'?

Nakon kratkog istraživanja ustanovili smo da su uzroci:



  • Proces vezan za priključak: Kad god se na poslužitelju kreira proces, on koristi port za komunikaciju s internetom. Luka je poput domaćina koji može zabaviti po jednog gosta. Međutim, ako ne navedete port, poslužitelj ga samo kreira na zadanom portu. Sljedeći put kada kreirate proces, mora se navesti port jer se zadani port već koristi.

Rješenje 1: Navođenje broja porta

Pogreška se uglavnom pokreće kada osoba pokuša vezati određeni proces na zadani priključak, a zadani priključak već je povezan s drugim postupkom. Stoga ćemo u ovom koraku odrediti priključak na koji će proces biti ograničen.

  1. Vjerojatno koristite sljedeću naredbu za izradu procesa.
    $ python -m SimpleHTTPServer
  2. Umjesto ovoga, upotrijebite ovu naredbu za stvaranje postupka.
    $ python -m SimpleHTTPServer (broj porta)
  3. Pričekajte da se postupak kreira i provjerite nastavlja li problem.

Rješenje 2: Oslobađanje luke

Ako je luka već se koristi u drugom postupku, novi postupak neće moći funkcionirati na toj luci. Stoga ćemo u ovom koraku osloboditi priključak završavanjem prethodnog postupka, a zatim izvođenjem novog. Za to:

  1. Upotrijebite sljedeću naredbu za popis broja procesa koji koriste određeni port.
    $ ps -fA | grep python
  2. Argument naredbe izgledat će otprilike kao sljedeći retci.
    601 88234 12788 0 21:53 ttys000 0: 00,16 python -m SimpleHTTPServer
  3. Od toga je procesni kod koji ćemo upotrijebiti za ubijanje „88234“.
  4. Upotrijebite sljedeću naredbu da ubijete postupak.
    ubiti 88234

    Možete je upotrijebiti i sljedeću naredbu da biste je ubili.



    sudo kill -9 PID
  5. Sada možete vezati postupak na ovaj port pomoću sljedeće naredbe.
    $ python -m SimpleHTTPServer (broj porta)
  6. Sada će se stvoriti postupak.

Rješenje 3: Ponovno pokretanje Raspberry Pi (samo za Raspberry Pi)

Te se pogreške možete riješiti na Raspberry Pi ponovnim pokretanjem Raspberry Pi ili ubijanjem ljuske terminala. Raspberry Pi ponekad ne može automatski ubiti procese i pokreće ovu pogrešku zbog prethodnih procesa koji se već izvode na priključcima.

1 minuta čitanja