ஜாவாவில் சாக்கெட் புரோகிராமிங் பற்றி அனைத்தையும் தெரிந்து கொள்ளுங்கள்

வெவ்வேறு JRE இல் இயங்கும் பயன்பாடுகளுக்கிடையேயான தகவல்தொடர்புக்கு ஜாவா சாக்கெட் நிரலாக்கமானது பயன்படுத்தப்படுகிறது. ஜாவா சாக்கெட் நிரலாக்கமானது இணைப்பு சார்ந்ததாகவோ அல்லது இணைப்பு இல்லாததாகவோ இருக்கலாம்.

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

இந்த கட்டுரையில் தலைப்புகள் கீழே உள்ளன:



ஹாஷ்மேப்பிற்கும் ஹேஷ்டேபலுக்கும் இடையிலான ஜாவா வேறுபாடு

ஜாவாவில் சாக்கெட் புரோகிராமிங் என்றால் என்ன?

சாக்கெட் நிரலாக்க ஒருவருக்கொருவர் தொடர்புகொள்வதற்கு ஒரு பிணையத்தில் இரண்டு முனைகளை இணைக்கும் ஒரு வழியாகும். ஒன்று சாக்கெட் (முனை) ஒரு குறிப்பிட்ட துறைமுகத்தை ஒரு ஐபியில் கேட்கிறது, மற்றொன்று சாக்கெட் இணைப்பை உருவாக்குவதற்காக மற்றொன்றை அடைகிறது.

கிளையண்ட் சர்வர் கம்யூனிகேஷன் - ஜாவாவில் சாக்கெட் புரோகிராமிங் - எடுரேகா

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

இப்போது சாக்கெட் புரோகிராமிங்கின் முக்கிய கருத்தை புரிந்து கொள்வோம், அதாவது ஒரு சாக்கெட்.

ஜாவாவில் சாக்கெட் என்றால் என்ன?

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

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

ஜாவாவில் சாக்கெட் என்றால் என்ன என்பது இப்போது உங்களுக்குத் தெரியும், கிளையன்ட் சேவையகத்துடன் எவ்வாறு தொடர்புகொள்கிறது மற்றும் சேவையகம் எவ்வாறு பதிலளிக்கிறது என்பதைப் புரிந்துகொள்வோம்.

கிளையண்ட் சைட் புரோகிராமிங்

கிளையன்ட்-சைட் புரோகிராமிங் விஷயத்தில், கிளையன்ட் முதலில் சேவையகம் தொடங்க காத்திருக்கும். சேவையகம் இயங்கி இயங்கியதும், அது கோரிக்கைகளை சேவையகத்திற்கு அனுப்பும். அதன் பிறகு, சேவையகத்தின் பதிலுக்காக வாடிக்கையாளர் காத்திருப்பார். எனவே, இது கிளையன்ட் மற்றும் சர்வர் தகவல்தொடர்புகளின் முழு தர்க்கமாகும். இப்போது கிளையன்ட் சைட் மற்றும் சர்வர் சைட் புரோகிராமிங் பற்றி விரிவாக புரிந்துகொள்வோம்.

வாடிக்கையாளர்களின் கோரிக்கையைத் தொடங்க, நீங்கள் கீழே குறிப்பிட்ட படிகளைப் பின்பற்ற வேண்டும்:

1. ஒரு இணைப்பை நிறுவுங்கள்

சாக்கெட் இணைப்பை நிறுவுவதே முதல் படி. இரண்டு இயந்திரங்களும் ஒருவருக்கொருவர் பிணைய இருப்பிடம் (ஐபி முகவரி) மற்றும் டிசிபி போர்ட் பற்றிய தகவல்களைக் கொண்டிருப்பதாக ஒரு சாக்கெட் இணைப்பு குறிக்கிறது.

கீழேயுள்ள அறிக்கையின் உதவியுடன் நீங்கள் ஒரு சாக்கெட்டை உருவாக்கலாம்:

சாக்கெட் சாக்கெட் = புதிய சாக்கெட் (“127.0.0.1”, 5000)

  • இங்கே, முதல் வாதம் குறிக்கிறது சேவையகத்தின் ஐபி முகவரி .

  • இரண்டாவது வாதம் குறிக்கிறது டி.சி.பி போர்ட் . (இது ஒரு சேவையகத்தில் எந்த பயன்பாடு இயங்க வேண்டும் என்பதைக் குறிக்கும் எண்.)

    html மற்றும் xml இடையே வேறுபாடு

2. தொடர்பு

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

3. இணைப்பை மூடுவது

சேவையகத்திற்கு செய்தி அனுப்பப்பட்டவுடன் சாக்கெட் இணைப்பு வெளிப்படையாக மூடப்படும்.

கிளையன்ட் பக்கத்தில் சாக்கெட் இணைப்பை செயல்படுத்த ஜாவா நிரலை எவ்வாறு எழுதுவது என்று இப்போது பார்ப்போம்.

// கிளையண்ட்சைட் இறக்குமதி java.net க்கான ஜாவா நிரல். * இறக்குமதி java.io. * பொது வகுப்பு கிளையண்ட் புரோகிராம் {// சாக்கெட் மற்றும் உள்ளீட்டு வெளியீட்டு நீரோடைகளைத் துவக்கு ஐபி முகவரி மற்றும் போர்ட் பொது கிளையண்ட் (சரம் முகவரி, எண்ணாக போர்ட்) {// ஒரு இணைப்பை நிறுவ முயற்சிக்கவும் {சாக்கெட் = புதிய சாக்கெட் (முகவரி, போர்ட்) System.out.println ('இணைக்கப்பட்டுள்ளது') // முனைய உள்ளீட்டிலிருந்து உள்ளீட்டை எடுக்கிறது = புதிய DataInputStream (System.in) // வெளியீட்டை சாக்கெட்டுக்கு அனுப்புகிறது = புதிய DataOutputStream (socket.getOutputStream ())} பிடிக்கவும் (UnknownHostException u) {System.out.println (u)} பிடிக்கவும் (IOException i) {System.out .println (i) string // உள்ளீட்டிலிருந்து செய்தியைப் படிக்க சரம் வரி = '' // 'ஓவர்' உள்ளீடாக இருக்கும் வரை தொடர்ந்து படிக்கவும் (! line.equals ('ஓவர்')) {try {line = input.readLine ( ) out.writeUTF (line)} catch (IOException i) {System.out.println (i)}} // இணைப்பை மூடு முயற்சிக்கவும் {input.close () out.close () socket.close ()} catch (IOException நான் ) {System.out.println (i)}} பொது நிலையான வெற்றிட மெயின் (சரம் ஆர்க்ஸ் []) {கிளையண்ட் கிளையண்ட் = புதிய கிளையண்ட் ('127.0.0.1', 5000)}}

இப்போது, ​​சேவையக பக்க நிரலாக்கத்தை செயல்படுத்தலாம், பின்னர் வெளியீட்டிற்கு வருவோம்.

சேவையக பக்க நிரலாக்க

அடிப்படையில், சேவையகம் அதன் பொருளை உடனடிப்படுத்தி கிளையன்ட் கோரிக்கைக்காக காத்திருக்கும். கிளையன் கோரிக்கையை அனுப்பியதும், சேவையகம் பதிலுடன் மீண்டும் தொடர்பு கொள்ளும்.

சேவையக பக்க பயன்பாட்டைக் குறியிட, உங்களுக்கு இரண்டு சாக்கெட்டுகள் தேவை, அவை பின்வருமாறு:

  • TO சர்வர் சாக்கெட் இது கிளையன்ட் கோரிக்கைகளுக்காகக் காத்திருக்கிறது (ஒரு வாடிக்கையாளர் புதிய சாக்கெட் () செய்யும் போது)

  • ஒரு வெற்று பழைய சாக்கெட் கிளையனுடன் தொடர்பு கொள்ள.

இதற்குப் பிறகு, நீங்கள் கிளையனுடன் பதிலுடன் தொடர்பு கொள்ள வேண்டும்.

தொடர்பு

getOutputStream () வெளியீட்டை சாக்கெட் வழியாக அனுப்ப முறை பயன்படுத்தப்படுகிறது.

இணைப்பை மூடு

ஜாவாஸ்கிரிப்டில் வரிசை நீளத்தை எவ்வாறு பெறுவது

எல்லாம் முடிந்ததும் சாக்கெட் மற்றும் உள்ளீடு / வெளியீட்டு நீரோடைகளை மூடுவதன் மூலம் இணைப்பை மூடுவது முக்கியம்.

சேவையக பக்கத்தில் சாக்கெட் இணைப்பை செயல்படுத்த ஜாவா நிரலை எவ்வாறு எழுதுவது என்று இப்போது பார்ப்போம்.

// ஒரு சேவையக இறக்குமதி java.net க்கான ஜாவா நிரல். * இறக்குமதி java.io. * பொது வகுப்பு சேவையக {// சாக்கெட் மற்றும் உள்ளீட்டு ஸ்ட்ரீமைத் துவக்கு போர்ட் பப்ளிக் சர்வர் (இன்ட் போர்ட்) {// சேவையகத்தைத் தொடங்கி ஒரு இணைப்புக்காக காத்திருக்கிறது {server = new ServerSocket (port) System.out.println ('சேவையகம் தொடங்கியது') System.out.println ('ஒரு வாடிக்கையாளருக்காக காத்திருக்கிறது .. . ') socket = server.accept () System.out.println (' கிளையண்ட் ஏற்றுக்கொள்ளப்பட்டது ') // கிளையன்ட் சாக்கெட்டிலிருந்து = புதிய டேட்டாஇன்புட்ஸ்ட்ரீம் (புதிய பஃபெர்டுஇன்புட்ஸ்ட்ரீம் (socket.getInputStream ()) இல் உள்ளீட்டை எடுக்கிறது. (! line.equals ('Over')) கிளையண்டிலிருந்து 'ஓவர்' அனுப்பப்படும் வரை / {படிக்க {line = in.readUTF () System.out.println (line)} catch (IOException i). கணினி. out.println (i)}} System.out.println ('இணைப்பை மூடுவது') // நெருங்கிய இணைப்பு socket.close () in.close ()} பிடிக்கவும் (IOException i) {System.out.println (i)}} பொது நிலையான வெற்றிட மெயின் (சரம் ஆர்க்ஸ் []) { சேவையக சேவையகம் = புதிய சேவையகம் (5000)}}

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

1. நீங்கள் சேவையக பக்க ஸ்கிரிப்டை இயக்கும்போது, ​​அது தொடங்கி கிளையன்ட் தொடங்குவதற்கு காத்திருக்கும்.

2. அடுத்து, கிளையன்ட் இணைக்கப்பட்டு கோரிக்கையை ஒரு சரம் வடிவில் உள்ளிடுவார்.

3. வாடிக்கையாளர் கோரிக்கையை அனுப்பும்போது, ​​சேவையகம் மீண்டும் பதிலளிக்கும்.

ஜாவாவில் நீங்கள் ஒரு சாக்கெட் நிரலை இயக்க வேண்டியது இதுதான். இந்த நிரல்களை நீங்கள் ஒரு முனைய சாளரத்தில் அல்லது கட்டளை வரியில் இயக்கலாம். ஆனால், கிரகணம் அதன் அம்சங்களுடன் நன்கு முன்னேறியுள்ளதால், நீங்கள் இரண்டு நிரல்களையும் ஒரு கன்சோலில் இயக்கலாம்.

இது ஜாவாவில் சாக்கெட் புரோகிராமிங் குறித்த கட்டுரையின் முடிவிற்கு நம்மைக் கொண்டுவருகிறது. உங்கள் அறிவுக்கு நான் கொஞ்சம் வெளிச்சம் போட்டுள்ளேன் என்று நம்புகிறேன் சாக்கெட் புரோகிராமிங்.

பாருங்கள் உலகெங்கிலும் பரவியுள்ள 250,000 க்கும் மேற்பட்ட திருப்தியான கற்றவர்களின் வலைப்பின்னலுடன் நம்பகமான ஆன்லைன் கற்றல் நிறுவனமான எடுரேகாவால். உங்கள் பயணத்தின் ஒவ்வொரு அடியிலும் உங்களுக்கு உதவ நாங்கள் இங்கு வந்துள்ளோம், இந்த ஜாவா நேர்காணல் கேள்விகளைத் தவிர்த்து, ஜாவா டெவலப்பராக விரும்பும் மாணவர்கள் மற்றும் நிபுணர்களுக்காக வடிவமைக்கப்பட்ட ஒரு பாடத்திட்டத்தை நாங்கள் கொண்டு வருகிறோம்.

எங்களுக்கு ஒரு கேள்வி கிடைத்ததா? இந்த “ஜாவாவில் சாக்கெட் புரோகிராமிங்” கட்டுரையின் கருத்துகள் பிரிவில் இதைக் குறிப்பிடவும், விரைவில் நாங்கள் உங்களிடம் வருவோம்.