பைதான் சாக்கெட் பிழை 48 ஐ சரிசெய்யவும்



சிக்கல்களை அகற்ற எங்கள் கருவியை முயற்சிக்கவும்

சாக்கெட் பிழை 48 என்பது ஒரு பைதான் பிழையாகும், இது ஏற்கனவே பயன்பாட்டில் உள்ள ஒரு துறைமுகத்துடன் செயல்முறை தன்னை இணைக்க முயற்சிக்கும்போது தூண்டப்படுகிறது.



சேவையகங்கள்



“Socket.error: [Errno 48] முகவரி ஏற்கனவே பயன்பாட்டில் உள்ளது” பிழை?

சுருக்கமான ஆராய்ச்சிக்குப் பிறகு, அதற்கான காரணங்களை நாங்கள் கண்டறிந்தோம்:



  • துறைமுகத்திற்கு செயல்முறை: சேவையகத்தில் ஒரு செயல்முறை உருவாக்கப்படும் போதெல்லாம், இணையத்துடன் தொடர்புகொள்வதற்கு ஒரு துறைமுகம் பயன்படுத்தப்படுகிறது. துறைமுகமானது ஒரு விருந்தினரை ஒரே நேரத்தில் மகிழ்விக்கக்கூடிய ஒரு ஹோஸ்ட் போன்றது. இருப்பினும், நீங்கள் ஒரு போர்ட்டைக் குறிப்பிடவில்லை என்றால், சேவையகம் அதை இயல்புநிலை போர்ட்டில் உருவாக்குகிறது. அடுத்த முறை நீங்கள் ஒரு செயல்முறையை உருவாக்கும்போது, ​​இயல்புநிலை போர்ட் ஏற்கனவே பயன்பாட்டில் இருப்பதால் ஒரு துறைமுகத்தை குறிப்பிட வேண்டும்.

தீர்வு 1: போர்ட் எண்ணைக் குறிப்பிடுகிறது

ஒரு நபர் ஒரு குறிப்பிட்ட செயல்முறையை இயல்புநிலை துறைமுகத்துடன் பிணைக்க முயற்சிக்கும்போது பிழை பெரும்பாலும் தூண்டப்படுகிறது மற்றும் இயல்புநிலை போர்ட் ஏற்கனவே வேறு செயல்முறைக்கு பிணைக்கப்பட்டுள்ளது. எனவே, இந்த கட்டத்தில், எந்த எல்லைக்குட்பட்ட துறைமுகத்தை நாங்கள் குறிப்பிடுவோம்.

  1. ஒரு செயல்முறையை உருவாக்க பின்வரும் கட்டளையைப் பயன்படுத்துகிறீர்கள்.
    $ python -m SimpleHTTPServer
  2. இதற்கு பதிலாக, ஒரு செயல்முறையை உருவாக்க இந்த கட்டளையைப் பயன்படுத்தவும்.
    $ python -m SimpleHTTPServer (போர்ட் எண்)
  3. செயல்முறை உருவாக்கப்படுவதற்குக் காத்திருந்து, சிக்கல் நீடிக்கிறதா என்று சோதிக்கவும்.

தீர்வு 2: துறைமுகத்தை விடுவித்தல்

என்றால் போர்ட் ஏற்கனவே வேறு செயல்முறையால் பயன்பாட்டில் உள்ளது, புதிய செயல்முறை அந்த துறைமுகத்தில் செயல்பட முடியாது. எனவே, இந்த கட்டத்தில், முந்தைய செயல்முறையை நிறுத்திவிட்டு, புதியதை இயக்குவதன் மூலம் துறைமுகத்தை விடுவிப்போம். அதற்காக:

  1. ஒரு குறிப்பிட்ட துறைமுகத்தைப் பயன்படுத்தி பல செயல்முறைகளை பட்டியலிட பின்வரும் கட்டளையைப் பயன்படுத்தவும்.
    $ ps -fA | grep python
  2. கட்டளை வாதம் பின்வரும் வரிகளைப் போல இருக்கும்.
    601 88234 12788 0 9:53 PM ttys000 0: 00.16 python -m SimpleHTTPServer
  3. இதில், நாம் கொல்ல பயன்படுத்தும் செயல்முறை குறியீடு “88234” ஆகும்.
  4. செயல்முறையை கொல்ல பின்வரும் கட்டளையைப் பயன்படுத்தவும்.
    கொல்ல 88234

    மாற்றாக, அதைக் கொல்ல பின்வரும் கட்டளையைப் பயன்படுத்தலாம்.



    sudo kill -9 PID
  5. பின்வரும் கட்டளையைப் பயன்படுத்தி நீங்கள் இப்போது இந்த துறைமுகத்துடன் செயலாக்க முடியும்.
    $ python -m SimpleHTTPServer (போர்ட் எண்)
  6. செயல்முறை இப்போது உருவாக்கப்படும்.

தீர்வு 3: ராஸ்பெர்ரி பை மறுதொடக்கம் (ராஸ்பெர்ரி பைக்கு மட்டுமே)

இந்த பிழையை நீங்கள் அகற்றலாம் ராஸ்பெர்ரி பை ராஸ்பெர்ரி பை மறுதொடக்கம் செய்வதன் மூலம் அல்லது முனைய ஷெல்லைக் கொல்வதன் மூலம். ராஸ்பெர்ரி பை சில நேரங்களில் செயல்முறைகளை தானாகவே கொல்ல முடியாது மற்றும் முந்தைய செயல்முறைகள் ஏற்கனவே துறைமுகங்களில் இயங்குவதால் இந்த பிழையைத் தூண்டுகிறது.

1 நிமிடம் படித்தது