કમ્પ્યુટર નેટવર્કીંગ માટે સૉકેટ પ્રોગ્રામિંગની ઉપરછલ્લી સમજ

સોકેટ કોમ્પ્યુટર નેટવર્ક પ્રોગ્રામિંગની સૌથી મૂળભૂત તકનીકોમાંની એક છે. સોકેટ નેટવર્ક સોફ્ટવેર કાર્યક્રમોને નેટવર્ક હાર્ડવેર અને ઑપરેટિંગ સિસ્ટમમાં બનેલા પ્રમાણભૂત પદ્ધતિઓનો ઉપયોગ કરીને વાતચીત કરવાની મંજૂરી આપે છે.

જો કે તે ઈન્ટરનેટ સોફ્ટવેર ડેવલોપમેન્ટના બીજા લક્ષણની જેમ ધ્વનિ કરી શકે છે, સોકેટ ટેક્નોલોજી વેબ પહેલા ઘણા સમય પહેલા અસ્તિત્વમાં હતી. અને, આજેના સૌથી લોકપ્રિય નેટવર્ક સોફ્ટવેર એપ્લિકેશન્સ સૉકેટ પર આધાર રાખે છે.

સોકેટ તમારા નેટવર્ક માટે શું કરી શકશે

સોકેટ સૉફ્ટવેરના બરાબર બે ટુકડા (એક કહેવાતા બિંદુ-ટુ-પોઇન્ટ કનેક્શન) વચ્ચે એક જોડાણનું પ્રતિનિધિત્વ કરે છે. સૉફ્ટવેરનાં બેથી વધુ ટુકડાઓ બહુવિધ સોકેટ્સનો ઉપયોગ કરીને ક્લાઇન્ટ / સર્વર અથવા વિતરિત સિસ્ટમ્સ સાથે વાર્તાલાપ કરી શકે છે. ઉદાહરણ તરીકે, ઘણા વેબ બ્રાઉઝર્સ વારાફરતી સર્વર પર બનાવેલ સોકેટ્સના જૂથ દ્વારા એક વેબ સર્વર સાથે વાતચીત કરી શકે છે.

સોકેટ-આધારિત સૉફ્ટવેર સામાન્ય રીતે નેટવર્ક પર બે અલગ કમ્પ્યુટર્સ પર ચાલે છે, પરંતુ એક કમ્પ્યુટર પર સ્થાનિક રીતે ( ઇન્ટરપ્રોસેસ ) સંચાર કરવા માટે સૉકેટનો ઉપયોગ કરી શકાય છે. સોકેટ્સ દ્વિભાગી છે , જેનો અર્થ છે કે કનેક્શનની બંને બાજુ ડેટા મોકલવા અને મેળવવા માટે સક્ષમ છે. કેટલીકવાર સંમતિની શરૂઆત કરનાર એક એપ્લિકેશનને "ક્લાયન્ટ" અને અન્ય એપ્લિકેશન "સર્વર" તરીકે ઓળખવામાં આવે છે, પરંતુ આ પરિભાષા પીઅર માં પીચમાં મૂંઝવણ તરફ દોરી જાય છે અને તેને સામાન્ય રીતે ટાળી શકાય છે.

સોકેટ API અને પુસ્તકાલયો

પ્રમાણભૂત એપ્લિકેશન પ્રોગ્રામિંગ ઇન્ટરફેસ (API) નું અમલીકરણ કરનારા કેટલાક લાઈબ્રેરીઓ ઇન્ટરનેટ પર અસ્તિત્વ ધરાવે છે. પ્રથમ મુખ્ય પ્રવાહના પેકેજ - બર્કલે સૉકેટ લાઇબ્રેરી હજુ પણ UNIX સિસ્ટમો પર વ્યાપકપણે ઉપયોગમાં છે. માઇક્રોસોફ્ટ ઓપરેટિંગ સિસ્ટમ્સ માટે વિન્ડોઝ સોકેટ્સ (વિનસૉક) લાઇબ્રેરી અન્ય એકદમ સામાન્ય API છે. અન્ય કમ્પ્યુટર તકનીકોના સંબંધી, સોકેટ API એ પુખ્ત વયના છેઃ વિનસૉક 1993 થી ઉપયોગમાં છે અને 1982 થી બર્કલે સોકેટ્સ.

સોકેટ API પ્રમાણમાં નાના અને સરળ છે. ઘણા ફંક્શનો ફાઇલ ઇનપુટ / આઉટપુટ રૂટિન જેવા કે read () , લખવા () , અને close () ) માં વપરાતા હોય તે સમાન છે. . ઉપયોગ કરવા માટેના વાસ્તવિક વિધેયનો ઉપયોગ પ્રોગ્રામિંગ ભાષા અને સોકેટ લાઇબ્રેરી પર આધારિત છે.

સોકેટ ઇન્ટરફેસ પ્રકારો

સોકેટ ઈન્ટરફેસને ત્રણ શ્રેણીઓમાં વહેંચી શકાય છે:

  • સ્ટ્રીમ સોકેટ્સ, સૌથી સામાન્ય પ્રકાર, માટે જરૂરી છે કે બે વાતચીત કરનારા પક્ષો સૌપ્રથમ સોકેટ કનેક્શન સ્થાપિત કરે છે, તે પછી તે કનેક્શન દ્વારા પસાર થયેલા કોઈપણ ડેટાને તે જ ક્રમમાં આવવા માટે ખાતરી આપવામાં આવશે કે જેમાં તેને મોકલવામાં આવી હતી - કહેવાતા કનેક્શન-આધારિત પ્રોગ્રામિંગ મોડેલ
  • ડેટાગ્રામ સોકેટ્સ "કનેક્શન-ઓછું" સીમેન્ટિક્સ ઓફર કરે છે ડેટાગ્રામ સાથે, સ્ટ્રીમ્સ સાથે જોડાણ કરતાં જોડાણો ઘાતક છે. કોઈ પક્ષ ફક્ત જરૂરી ડેટાગ્રામ્સ મોકલે છે અને અન્ય જવાબ આપવા માટે રાહ જુએ છે; સંદેશા પ્રસારિત થઇ શકે છે અથવા હુકમથી પ્રાપ્ત થઈ શકે છે, પરંતુ તે આની જવાબદારી છે અને આ સમસ્યાઓને ઉકેલવા માટે સોકેટ્સ નહીં. ડેટાગ્રામ સૉકેટ અમલીકરણ કેટલાક કાર્યક્રમોને પ્રભાવ બુસ્ટ અને સ્ટ્રીમ સોકેટ્સનો ઉપયોગ કરતા વધારાના લવચીકતા આપી શકે છે, કેટલીક પરિસ્થિતિઓમાં તેમના ઉપયોગને વાજબી ઠેરવે છે.
  • ત્રીજા પ્રકારનો સોકેટ - કાચો સોકેટ - પ્રમાણભૂત પ્રોટોકોલો જેવા કે ટીસીપી અને યુડીપી માટે લાઇબ્રેરીની બિલ્ટ-ઇન સપોર્ટને બાયપાસ કરે છે. કાચો સોકેટ્સ કસ્ટમ લો-લેવલ પ્રોટોકોલ વિકાસ માટે ઉપયોગમાં લેવાય છે.

નેટવર્ક પ્રોટોકોલોમાં સોકેટ સપોર્ટ

આધુનિક નેટવર્ક સોકેટોનો સામાન્ય રીતે ઈન્ટરનેટ પ્રોટોકોલો - આઇપી, ટીસીપી, અને યુડીપી સાથે જોડાયેલો છે. ઇંટરનેટ પ્રોટોકોલ માટે સોકેટ્સનો અમલ કરતી લાઇબ્રેરીઓ સ્ટ્રીમ્સ માટે ટીસીપી, ડેટાગ્રામ માટેના યુ.પી., અને કાચી સોકેટ્સ માટે IP છે.

ઇન્ટરનેટ પર વાતચીત કરવા માટે, આઇપી સોકેટ લાઈબ્રેરીઓ ચોક્કસ કમ્પ્યુટર્સ ઓળખવા માટે IP એડ્રેસનો ઉપયોગ કરે છે. ઇન્ટરનેટના ઘણા ભાગો નામકરણ સેવાઓ સાથે કામ કરે છે, જેથી વપરાશકર્તાઓ અને સોકેટ પ્રોગ્રામરો સરનામાં દ્વારા ( દા.ત. , 208.185.127.40) નામના કમ્પ્યુટર્સ સાથે નામથી ( દા.ત. "thiscomputer.wireless.about.com") કામ કરી શકે છે. સ્ટ્રીમ અને ડેટાગ્રામ સોકેટ એકબીજાથી બહુવિધ એપ્લિકેશન્સને અલગ પાડવા માટે આઇપી પોર્ટ નંબર્સનો ઉપયોગ કરે છે. ઉદાહરણ તરીકે, ઇન્ટરનેટ પરના વેબ બ્રાઉઝર્સ વેબ સર્વર સાથે સોકેટ સંચાર માટે પોર્ટ 80 ને ડિફૉલ્ટ તરીકે વાપરવાનું જાણે છે