'பிழை: EADDRINUSE: ஏற்கனவே பயன்பாட்டில் உள்ள முகவரி' என்பதை எவ்வாறு தீர்ப்பது?

Pilai Eaddrinuse Erkanave Payanpattil Ulla Mukavari Enpatai Evvaru Tirppatu



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

இந்த வழிகாட்டி 'கேட்க EADDRINUSE: ஏற்கனவே பயன்பாட்டில் உள்ள முகவரி'க்கான சாத்தியமான திருத்தங்களை கீழே உள்ள பகுதிகளை உள்ளடக்கியதன் மூலம் விளக்குகிறது:

'பிழை: EADDRINUSE: ஏற்கனவே பயன்பாட்டில் உள்ள முகவரி' என்பதை எவ்வாறு தீர்ப்பது?

' பிழை: கேட்க EADDRINUSE: முகவரி ஏற்கனவே பயன்பாட்டில் உள்ளது ” ஒன்றுக்கு மேற்பட்ட பயன்பாடுகள் அல்லது பணிகள் ஒரே போர்ட்டை அணுக முயற்சிக்கும் போது எழுகிறது. சோதனை அல்லது வளர்ச்சிக் கட்டங்களில் இந்தப் பிழை எழுப்பப்படலாம். உதாரணமாக, மேலே குறிப்பிட்டுள்ள பிழை சிறந்த புரிதலுக்காக உருவாக்கப்படும்:







நிலையான எக்ஸ்பிரஸ்Obj = தேவை ( 'எக்ஸ்பிரஸ்' )
நிலையான demoApp = எக்ஸ்பிரஸ்Obj ( )
demoApp. பெறு ( '/' , ( req, res ) => {
ரெஸ். json ( {
பெயர் : CORS பற்றிய Linuxhint கட்டுரை ,
மொழி : 'Node.js' ,
விண்ணப்பம் : 'corsApp' ,
தோற்றம் : 'குறுக்கு தோற்றம்' ,
மிடில்வேர் : 'CORS'
} )
} )
demoApp. கேளுங்கள் ( 8080 , ( ) => {
பணியகம். பதிவு ( `சர்வர் ஆன் ஆனது 'http://localhost:8080/' ` )
} )
demoApp. கேளுங்கள் ( 8080 , ( ) => {
பணியகம். பதிவு ( `சர்வர் ஆன் ஆனது 'http://localhost:8080/' ` )
} )

மேலே உள்ள குறியீடு துணுக்கு இதுபோல் செயல்படுகிறது:



  • முதலில், 'இறக்குமதி' வெளிப்படுத்துகிறது 'தொகுதி மற்றும் அதன் பொருளை ஒரு புதிய மாறியில் சேமிக்கவும்' எக்ஸ்பிரஸ்Obj ”. ' என்ற புதிய எக்ஸ்பிரஸ் பயன்பாட்டை உருவாக்க இந்த மாறியை கட்டமைப்பாளராகப் பயன்படுத்தவும் demoApp ”.
  • அடுத்து, 'GET கோரிக்கையை உருவாக்கவும் பெறு() 'முறை மற்றும் முகப்புப் பக்கத்தை ரூட் ஹேண்ட்லராக அமைக்கவும்' / ” முதல் அளவுருவாக. இரண்டாவது அளவுரு அநாமதேய அழைப்பின் செயல்பாடு ஆகும், இது ' JSON 'தரவு' ஐப் பயன்படுத்துவதன் மூலம் பதில் json() ”முறை.
  • அதன் பிறகு, '' என்ற அதே போர்ட் எண்ணில் அந்த பயன்பாட்டை இயக்கவும் 8080 ' இரண்டு முறை. ஒரே போர்ட்டை இரண்டு முறை செயல்படுத்துவது குறிப்பிடப்பட்ட பிழையை உருவாக்குகிறது.

மேலே உள்ள குறியீட்டைத் தொகுத்த பிறகு உருவாக்கப்பட்ட வெளியீடு 'பிழை: EADDRINUSE: ஏற்கனவே பயன்பாட்டில் உள்ள முகவரி' பிழையின் நிகழ்வைக் காட்டுகிறது:







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

தீர்வு 1: வெவ்வேறு துறைமுகங்களில் செயல்முறைகளை இயக்கவும்

குறிப்பிடப்பட்ட பிழைக்கு மிகவும் பரிந்துரைக்கப்பட்ட தீர்வாக இரண்டு சேவைகளும் இயங்கும் போர்ட் எண்களை அடையாளம் காண்பது எங்கள் விஷயத்தில் உள்ளது ' 8080 ”. பின்னர், ஒரு சேவையைத் தோராயமாகத் தேர்ந்தெடுத்து, அதன் போர்ட் எண்ணை மாற்றியமைத்து, சேவைகளை லோக்கல் ஹோஸ்டில் கேட்கச் செய்யும், ஆனால் வெவ்வேறு போர்ட் எண்களுடன். விவாதிக்கப்பட்ட மாற்றத்திற்குப் பிறகு எங்கள் குறியீடு கீழே காட்டப்பட்டுள்ளது:



நிலையான எக்ஸ்பிரஸ்Obj = தேவை ( 'எக்ஸ்பிரஸ்' )
நிலையான demoApp = எக்ஸ்பிரஸ்Obj ( )
demoApp. பெறு ( '/' , ( req, res ) => {
ரெஸ். json ( {
பெயர் : CORS பற்றிய Linuxhint கட்டுரை ,
மொழி : 'Node.js' ,
விண்ணப்பம் : 'corsApp' ,
தோற்றம் : 'குறுக்கு தோற்றம்' ,
மிடில்வேர் : 'CORS'
} )
} )
demoApp. கேளுங்கள் ( 8080 , ( ) => {
பணியகம். பதிவு ( `சர்வர் ஆன் ஆனது 'http://localhost:8080/' ` )
} )
demoApp. கேளுங்கள் ( 3000 , ( ) => {
பணியகம். பதிவு ( `சர்வர் ஆன் ஆனது 'http://localhost:8080/' ` )
} )

மேலே உள்ள குறியீட்டை இயக்கிய பிறகு உருவாக்கப்பட்ட வெளியீடு இப்போது ' பிழை: கேட்க EADDRINUSE: முகவரி ஏற்கனவே பயன்பாட்டில் உள்ளது 'பிரச்சினை தீர்க்கப்பட்டது:

தீர்வு 2: அதே போர்ட்டில் இயங்கும் செயல்முறைகளை நிறுத்துதல்

'listen EADDRINUSE: address is already use' பிழையைத் தீர்ப்பதற்கான மற்றொரு வழி, ஏற்கனவே பயன்பாட்டில் உள்ள குறிப்பிட்ட போர்ட்டில் இயங்கும் செயல்முறைகளை நிறுத்துவதாகும். இது குறிப்பிட்ட பணிகளைச் செய்ய டெவலப்பரால் அணுகக்கூடிய போர்ட்டை செயலற்றதாக மாற்றும். இந்த நிறுத்த செயல்முறை '' என்ற வெளிப்புற தொகுதியின் உதவியுடன் செய்யப்படுகிறது. கொல்ல துறைமுகம் ”.

உதாரணமாக, குறிப்பிட்ட போர்ட் எண்ணில் இயங்கும் அனைத்து செயல்முறைகளும் ' 8080 'பயன்படுத்தி கொல்லப் போகிறார்கள்' கொல்ல துறைமுகம் ” தொகுதி. 'கில்-போர்ட்' தொகுதியைப் பயன்படுத்த இரண்டு வழிகள் உள்ளன, இந்த இரண்டு அணுகுமுறைகளும் கீழே கூறப்பட்டுள்ளன:

முறை 1: நிறுவிய பின் “கில்-போர்ட்” தொகுதியைப் பயன்படுத்தவும்

' கொல்ல துறைமுகம் ” தொகுதி ஒரு மூன்றாம் தரப்பு வெளிப்புற தொகுதி மற்றும் இந்த தொகுதியை node.js திட்டத்திற்குள் பயன்படுத்துவதற்காக. கீழே குறிப்பிடப்பட்டுள்ள கட்டளையை இயக்குவதன் மூலம் இந்த தொகுதி முதலில் பதிவிறக்கம் செய்யப்பட வேண்டும்:

npm நிறுவ கொலை - துறைமுகம் - g

கீழே உள்ள படம் 'இன் நிறுவல் முடிந்ததைக் காட்டுகிறது. கொல்ல துறைமுகம் ” மாறி:

நிறுவிய பின், தேவையான போர்ட் எண்ணுக்கான சேவைகளை பயனர் அழிக்க முடியும். எங்கள் விஷயத்தில், போர்ட் எண்ணின் சேவைகள் ' 8080 'கீழே கூறப்பட்ட கட்டளையின் மூலம் கொல்லப்படுவார்கள்:

கொல்ல - துறைமுகம் -- துறைமுகம் 8080

துறைமுகத்திற்கான அனைத்து சேவைகளையும் கீழே உள்ள வெளியீடு உறுதிப்படுத்துகிறது. 8080 ” கொல்லப்பட்டுள்ளனர்:

முறை 2: 'கில்-போர்ட்' தொகுதியை நிறுவாமல் பயன்படுத்தவும்

' கொல்ல துறைமுகம் 'தொகுதியை நிறுவல் செயல்முறைக்கு செல்லாமலேயே பயன்படுத்த முடியும்' npx ” பேக்கேஜ் ரன்னர். உதாரணமாக, ' கொல்ல துறைமுகம் கீழே கூறப்பட்டுள்ள 'npx' தொகுப்பு ரன்னர் கட்டளையைப் பயன்படுத்தி குறிப்பிட்ட இரண்டு போர்ட்களைக் கொல்ல ' தொகுதி பயன்படுத்தப்படுகிறது:

npx கொலை - துறைமுகம் 8080 9000

கீழே உள்ள வெளியீடு குறிப்பிட்ட துறைமுகங்களுக்கான சேவைகளைக் காட்டுகிறது ' 9000 'மற்றும்' 8080 ” கொல்லப்பட்டுள்ளனர்:

போனஸ் உதவிக்குறிப்பு: 'கில்-போர்ட்' தொகுதியின் நிறுவல் நீக்கம்

நிறுவல் நீக்கும் பொருட்டு ' கொல்ல துறைமுகம் ” கணினியிலிருந்து உலகளாவிய அளவில் தொகுதி கீழே கூறப்பட்ட கட்டளையை இயக்கவும்:

npm அன் இன்ஸ்டால் கில் - துறைமுகம் - g

தீர்வு 3: Windows இல் Node.js சேவைகளை நிறுத்தவும்

'பிழை: கேள் EADDRINUSE: ஏற்கனவே பயன்பாட்டில் உள்ள முகவரி' இன்னும் தொடர்ந்தால், இயங்கும் அனைத்தையும் அழித்துவிடுங்கள் ' node.js GUI அல்லது CLI அணுகுமுறையைப் பயன்படுத்தி சேவைகள்.

CLI அணுகுமுறையைப் பயன்படுத்துதல்

அழுத்தவும் ' ஜன்னல் தேடல் பட்டியைத் திறந்து '' பொத்தானை உள்ளிடவும் CMD ” தேடல் பெட்டியின் உள்ளே, உருவாக்கப்பட்ட முடிவுகளிலிருந்து. பின்னர், '' என்பதைத் தேர்ந்தெடுக்கவும் கட்டளை வரியில் ' பயன்பாடு, மற்றும் ' அழுத்தவும் நிர்வாகியாக செயல்படுங்கள் ' பொத்தானை:

விருப்பத்தைத் தேர்ந்தெடுப்பதன் மூலம், ஒரு புதிய கண்ட்ரோல் ப்ராம்ப்ட் சாளரம் தோன்றும், பின்னணியில் தற்போது இயங்கும் 'node.js' சேவைகளை அழிக்க, கீழே உள்ள கட்டளையை இயக்கவும்:

பணிக்கொடுமை / எஃப் / IM முனை. exe

உருவாக்கப்பட்ட வெளியீடு 'node.js' சேவைகள் நிறுத்தப்பட்டதைக் காட்டுகிறது:

GUI அணுகுமுறையைப் பயன்படுத்துதல்

கணினியிலிருந்து இயங்கும் node.js சேவைகளை அழிக்க, ''ஐத் திறக்கவும் பணி மேலாளர் ” அடிப்பதன் மூலம் “ Ctrl + Shift + Esc 'விசைகள் உடனடியாக. 'பணி மேலாளரை' திறந்த பிறகு, '' க்கு செல்லவும் விவரங்கள் 'வகை,' தேர்ந்தெடுக்கவும் node.exe 'சேவை, மற்றும்' ஐ அழுத்தவும் பணியை முடிக்கவும் 'கீழே காட்டப்பட்டுள்ளபடி கீழ் வலது திசையில் இருக்கும் பொத்தான்:

Node.js இல் 'பிழை: EADDRINUSE: ஏற்கனவே பயன்பாட்டில் உள்ள முகவரியைக் கேளுங்கள்' என்பதைத் தீர்ப்பது அவ்வளவுதான்.

முடிவுரை

'பிழை: கேட்க EADDRINUSE: முகவரி ஏற்கனவே பயன்பாட்டில் உள்ளது' என்பது ஒன்றுக்கு மேற்பட்ட சேவைகள் ஒரே நேரத்தில் ஒரு போர்ட்டைப் பயன்படுத்த முயற்சிக்கும் போது எழுகிறது. அதைத் தீர்க்க, பயனர் வேறு போர்ட் எண்ணைப் பயன்படுத்த முயற்சிக்க வேண்டும் அல்லது குறிப்பிட்ட போர்ட் எண்ணில் ஏற்கனவே இயங்கும் சேவைகளை “” கொல்ல துறைமுகம் ” தொகுதி. பிழை இன்னும் தீர்க்கப்படவில்லை என்றால், இயங்கும் அனைவரையும் கொல்லுங்கள் ' node.js ” பணி மேலாளரிடமிருந்து சேவைகள் மற்றும் உங்கள் விண்ணப்பத்தை மறுதொடக்கம் செய்யவும். இந்த வழிகாட்டி 'பிழை: EADDRINUSE: ஏற்கனவே பயன்பாட்டில் உள்ள முகவரி' சிக்கலைத் தீர்ப்பதற்கான சாத்தியமான தீர்வுகளை விளக்கியுள்ளது.