TCP / IP കംപ്യൂട്ടർ നെറ്റ്വർക്കുകൾക്കായി സോക്കറ്റ് പ്രോഗ്രാമിംഗിലേക്കുള്ള ഒരു ലഘു ഗൈഡ്

സോക്കറ്റ് പ്രോഗ്രാമിങ് സെർവറും ക്ലയന്റ് കമ്പ്യൂട്ടറുകളും കണക്ട് ചെയ്യുന്നു

TCP / IP നെറ്റ്വർക്കുകളിലെ ആശയവിനിമയത്തിനു പിന്നിലുള്ള അടിസ്ഥാന സാങ്കേതികവിദ്യയാണ് സോക്കറ്റുകൾ പ്രോഗ്രാമിംഗ്. ഒരു സോക്കറ്റ് ഒരു നെറ്റ്വർക്കിൽ പ്രവർത്തിക്കുന്ന രണ്ടു പ്രോഗ്രാമുകൾ തമ്മിൽ രണ്ട്-മാർഗ ലിങ്ക് ഒരു അന്തിമ പോയിന്റ് ആണ്. മറ്റൊരു സോക്കറ്റുമായി ഡാറ്റ അയയ്ക്കുന്നതിനും സ്വീകരിക്കുന്നതിനും സോക്കറ്റ് ഒരു ദ്വിദിന ആശയവിനിമയ എൻഡ്പോയിന്റ് നൽകുന്നു. ഒരു ലോക്കൽ ഏരിയ നെറ്റ്വർക്കിൽ ( LAN ) അല്ലെങ്കിൽ ഇന്റർനെറ്റിലുടനീളം രണ്ട് വ്യത്യസ്ത കമ്പ്യൂട്ടറുകൾക്കിടയിൽ സാധാരണയായി സോക്കറ്റ് കണക്ഷനുകൾ പ്രവർത്തിക്കുന്നു, എന്നാൽ ഒരൊറ്റ കമ്പ്യൂട്ടറിൽ ഇന്ററാപ്സസ്സ് ആശയവിനിമയത്തിനും അവ ഉപയോഗിക്കാനാകും.

സോക്കറ്റുകളും വിലാസങ്ങളും

ടിസിപി / ഐപി നെറ്റ്വർക്കുകളിൽ സോക്കറ്റ് എൻഡ് പോയിന്റുകൾ ഓരോരുത്തർക്കും ഒരു ഐപി വിലാസവും ടിസിപി / ഐ പി പോർട്ട് നമ്പറുമാണ് . സോക്കറ്റ് ഒരു പ്രത്യേക പോർട്ട് നമ്പറിലേക്ക് ബന്ധിതമായതിനാൽ, അതിലേക്ക് അയച്ച ഡാറ്റ സ്വീകരിക്കാൻ TCP ലെയറിന് തിരിച്ചറിയാനാകും. ഒരു പുതിയ സോക്കറ്റ് തയ്യാറാക്കുമ്പോൾ, സോക്കറ്റ് ലൈബ്രറി ഓട്ടോമാറ്റിക്കായി ആ ഡിവൈസിൽ ഒരു അദ്വിതീയ പോർട്ട് നമ്പർ സൃഷ്ടിക്കുന്നു. പ്രത്യേക സാഹചര്യങ്ങളിൽ പ്രോഗ്രാമിനു പോർട്ട് നമ്പറുകൾ നൽകാം.

സെർവർ സോക്കറ്റുകൾ എങ്ങനെ പ്രവർത്തിക്കുന്നു

സാധാരണ ഒരു സെർവറിൽ ഒരു കമ്പ്യൂട്ടറിൽ പ്രവർത്തിക്കുന്നു, ഒരു പ്രത്യേക പോർട്ടിലേക്ക് ബന്ധിതമായ ഒരു സോക്കുണ്ട്. കണക്ഷൻ അഭ്യർത്ഥന നടത്താനായി സെർവർ മറ്റൊരു വ്യത്യസ്ത കമ്പ്യൂട്ടറിനായി കാത്തിരിക്കുന്നു. സെർവർ കംപ്യൂട്ടറിന്റെ ഹോസ്റ്റ് നെയിം സെർവർ കേൾക്കുന്ന പോർട്ട് നമ്പറാണ് ക്ലയന്റ് കമ്പ്യൂട്ടർ അറിയുന്നത്. ക്ലയന്റ് കമ്പ്യൂട്ടർ സ്വയം തിരിച്ചറിയുന്നു, എല്ലാം ശരിയാണെങ്കിലും-സെർവർ ക്ലയന്റ് കമ്പ്യൂട്ടറിനെ കണക്റ്റ് ചെയ്യാൻ അനുവദിക്കുന്നു.

സോക്കറ്റ് ലൈബ്രറികൾ

താഴ്ന്ന ലെവൽ സോക്കറ്റ് API- കളിലേക്ക് നേരിട്ട് കോഡ് നൽകുന്നതിന് പകരം, നെറ്റ്വർക്ക് പ്രോഗ്രാമർമാർ സാധാരണയായി സോക്കറ്റ് ലൈബ്രറികൾ ഉപയോഗിക്കുന്നു. ലിനക്സ് / യൂണിക്സ് സിസ്റ്റങ്ങൾക്കു വേണ്ടിയുള്ള ബെർക്കീ സോക്കറ്റുകൾ, വിൻഡോസ് സിസ്റ്റങ്ങൾക്കു വേണ്ടിയുള്ള WinSock എന്നിവ സാധാരണയായി ഉപയോഗിക്കുന്ന സോക്കറ്റ് ലൈബ്രറികൾ.

ഓപ്പൺ (), റീഡ് (), റൈറ്റ് (), ക്ലോസ് () എന്നിവ പോലെയുള്ള ഫയലുകൾ പ്രവർത്തിപ്പിക്കാൻ ആ പ്രോഗ്രാമർമാർ ഉപയോഗിക്കുന്ന ഒരു സോക്കറ്റ് ലൈബ്രറിയുടെ ഒരു സെറ്റ് API പ്രവർത്തനങ്ങൾ നൽകുന്നു.