ისწავლეთ ქსელის პროგრამირება ინტერნეტის სოკეტებით

გამჟღავნება: თქვენი მხარდაჭერა ხელს უწყობს საიტის მუშაობას! ჩვენ ვიღებთ რეფერალის გადასახადს ზოგიერთი სერვისის შესახებ, რომელსაც გირჩევთ ამ გვერდზე.


ინტერნეტ სოკეტების შესავალი

”ინტერნეტ – სოკეტები”, რომლებიც, ზოგადად, ინტერნეტ – მომხმარებლების მიერ არ არის ნახული, თითქმის ყველა ვებ – პროგრამის ხერხემალი გახლავთ. ქსელის სოკეტების ეფექტური გამოყენება სერვერის პროგრამებს საშუალებას აძლევს დაუკავშირდნენ კლიენტის პროგრამებს, მაგალითად, ვებ – ბრაუზერს, რომელიც წვდება ვებ – გვერდზე.

ყველა ინტერნეტ სოკეტი შეიძლება განისაზღვროს რამდენიმე მახასიათებლით, ადგილობრივი სოკეტის მისამართით და პროტოკოლით. გამოყენებული ერთ-ერთი ყველაზე გავრცელებული პორტა არის TCP პორტი 80, რომლის მეშვეობითაც იგზავნება HyperText გადაცემის პროტოკოლი (HTTP), რაც საშუალებას აძლევს ვებ – გვერდების დათვალიერებას..

შვიდი ფენის OSI მოდელი

(ქსელის ხახვის ფენები)

ინტერნეტ სოკეტების გამოყენება და ფუნქციონალური გაგება შესაძლებელია კომპიუტერულ ქსელში ყველა კონცეფციის შეცნობის გარეშე. ამასთან, შვიდი ფენის OSI მოდელის მძლავრმა ჩვევამ შეიძლება მცირე კონტექსტი მოგვცეს სოკეტების გარკვევის ოდნავ გაადვილებისთვის..

  • ფენა 1 – ფიზიკური ფენა – სადაც bit ნაკადი რეალურად მოგზაურობს როგორც ელექტროენერგია, მსუბუქი ან რადიო ქსელის აპარატის საშუალებით.
  • ფენა 2 – მონაცემთა ბმული – დაშიფრული მონაცემების პაკეტები იგზავნება აქ, სადაც მედიის წვდომის კონტროლი (MAC) და ლოგიკური ბმული კონტროლის (შპს) ფენა განსაზღვრავს, შესაბამისად, იდენტურობას და სინქრონიზაციას..
  • ფენა 3 – ქსელის ფენა – ეს არის ადგილი, როდესაც ხდება მარშრუტიზაცია და გადართვა, „ვირტუალური სქემების“ დაყენება და მონაცემების კვანძიდან კვანძამდე მიტანა, მისამართების მართვა და პაკეტის ნაკადის მოპოვება. აქ არის თქვენი IP მისამართი.
  • ფენა 4- სატრანსპორტო ფენა – ეს არის მონაცემების გამჭვირვალე ნაკადი ნებისმიერ ორ მასპინძელს შორის, რომელიც ასრულებს შეცდომებს, მონაცემთა აღდგენას და მართავს ინფორმაციის გაცვლას. აქ არის TCP და UDP. აქ ვხვდებით ვებ – სოკეტებს და HTTP– ს!
  • ფენა 5 – სესიის ფენა – ეს ეხება პროგრამებს შორის ერთიან კავშირს, ბირჟების კოორდინაციას და პროცესის ნაკადის მართვას. მაგალითად, ვებ სერვერი ან SQL სერვერი შეიძლება აქ მუშაობდეს.
  • ფენა 6 – პრეზენტაციის ფენა – ასე ხდება მონაცემების ფორმატირება და წარმოდგენა. ასე რომ, აქ ნახავთ დაშიფვრას & ფაილის ტიპები.
  • ფენა 7 – განაცხადის ფენა – სწორედ აქ არის კონტროლი, რომ მომხმარებელმა ურთიერთქმედება მოახდინოს მის ყველა ფენასთან. ვებ – ბრაუზერს ან FTP კლიენტს ნახავთ 7 ფენაზე.

ქსელის სოკეტი თავდაპირველად გაჩნდა როგორც “სოკეტის API” ნაწილი, რომელიც დაფუძნებულია Berkely Sockets- ის პროექტზე 1980-იანი წლების დასაწყისში. ეს განხორციელდა თავდაპირველად C– ში, როგორც ქსელის ინტერფეისის ნაწილი Unix– ის ოპერაციული სისტემისთვის.

1989 წლისთვის, Berkely Sockets Distribution (BSD) გახდა ღია წყარო და გავლენა მოახდინა Microsoft- ის პროექტ Winsock- ზე. BSD API– მა გავლენა მოახდინა სხვა სოკეტების API– ებზე და დაეხმარა კომერციული ქსელის ჩამოყალიბებაში, როგორც ეს დღეს ვიცით.

მონაცემთა გაგზავნის ალტერნატიული მეთოდები

ინტერნეტ აპლიკაციიდან მონაცემების გაგზავნის ერთზე მეტი გზა არსებობს. ინტერნეტის სოკეტები მხოლოდ ერთი გზაა, აქ არის რამდენიმე სხვა, რომლებიც ქსელური სისტემის სხვადასხვა დონეზე ფუნქციონირებენ.

თითოეულ მათგანს აქვს საკუთარი დადებითი და უარყოფითი მხარეები და ღირს გამოძიება, თუკი ინტერნეტით იცით?

  • სოკეტის ნაკადები – ინტერნეტ სოკეტის კავშირი, რომელიც განხორციელებულია TCP– სთან, საიმედო მონაცემთა ნაკადისთვის.
  • მონაცემთა ბაზები – თვით UDP– ით გაგზავნილი თვით-გაგზავნა, რომელსაც არ აქვს დანიშნულების ადგილზე გარანტირებული მიწოდება.
  • საშინელი ზარები – REST ნიშნავს წარმომადგენლობითი სახელმწიფო გადაცემას და ეფექტურად არის HTTP გაფართოება კომუნიკაბელური კომუნიკაციისთვის.
  • საპონი – დასვენების მსგავსი, ეს არის შეტყობინებების სერვისი HTTP და მარკირების ფაილების გადასაცემად.

თითოეულ ვარიანტს მისი განხორციელების სხვადასხვა გზა აქვს. REST საკმაოდ სტანდარტულია ვებ – ფორმებისთვის, ხოლო სოკეტის ნაკადი სასურველია რეალურ დროში კომუნიკაციებისთვის ან ნებისმიერი ნაკადის შინაარსისთვის.

დაწყების ადგილები

ზოგადად, ვებ – სოკეტებთან მუშაობისთვის საჭიროა პროგრამირების ძირითადი ცოდნა. ენა, რომელსაც იყენებთ, სინამდვილეში არ არის, რადგან ყველა მთავარ ენას ექნება socket API– ის გარკვეული განხორციელება ამ ტიპის კომუნიკაციისთვის.

ალბათ პირველი, რაც პირველ რიგში უნდა გაკეთდეს, ძირითადი ცნებების გაცნობა იყო.

  • კომპიუტერული ქსელის სოკეტები – ვაშინგტონის უნივერსიტეტის კომპიუტერული მეცნიერების ლექცია
  • Beej- ის ქსელის პროგრამირების სახელმძღვანელო ინტერნეტ სოკეტების გამოყენებით – უფასო ელექტრონული წიგნი
  • Cisco ვიდეო სოკეტების განსხვავებაზე & ვებ პორტები
  • TCP / IP სოკეტების პროგრამაში C: პრაქტიკული სახელმძღვანელო პროგრამისტებისთვის – ბეილოლის უნივერსიტეტის პრეზენტაცია.

ონლაინ კურსები

ზოგჯერ რამდენიმე სასარგებლო ბმული უბრალოდ არ არის საკმარისი. იმისათვის, რომ ნამდვილად კარგი იყოს ვებ – სოკეტების გამოყენებით და მართვის ქსელების ღრმა დონეზე გაკონტროლება, შეიძლება უფრო პრაქტიკული იყოს კურსის გავლა..

  • კურსერა – ვაშინგტონის უნივერსიტეტი – კომპიუტერული ქსელები
  • Udemy – TCP / IP სოკეტის პროგრამირება C #. NET ში კოდირებისთვის & სტუდენტებს
  • Lynda.com – დაწყება ვებ სოკეტებით.

ბიბლიოთეკები პროგრამირების ენით

თუ თქვენ უკვე გაქვთ სასურველი ენა, საუკეთესო ადგილი, სადაც უნდა დაიწყოთ ვებ – სოკეტებით, შეიძლება გამოიყენოთ იმ დომენში არსებული ბიბლიოთეკებისა და რესურსების გამოყენება, სადაც უკვე კომფორტული ხართ.

აქ მოცემულია რესურსებისა და მაგალითების გამიჯვნა პროგრამირების ენით.

ვებ – სოკეტები JavaScript– ით

  • Socket.io – ბიბლიოთეკა NodeJS
  • ვებ – გვერდის NodeJS მოდული
  • წინდები.JS github ბიბლიოთეკა.

ვებ სოკეტები Java- ით

  • Java EE 7: ვებ პროგრამების მშენებლობა WebSocket, JavaScript და HTML5
  • Apache Tomcat 7 – Apache Webserver– ის ვებ – სოკეტის განხორციელების ახსნა
  • NetBeans IDE – Java WebSocket API– ს გამოყენების განმარტება .

ვებ – სოკეტები C / C– ში++

  • ვებგვერდი ++ ბიბლიოთეკა ზაფოიდის მიერ
  • C ++ Winsock ვებ სერვერის სერვერი
  • WebToolkit (Wt) C ++ საწყისი გვერდი
  • Qt ვებ სოკეტების ვიკი.

ვებ – სოკეტები C #– ში & .ნეტ

  • WebSocket კლასი. NET ჩარჩოებში
  • Websocket-Sharp ღია ბიბლიოთეკა.

ვებ – სოკეტების პითონში

  • სოკეტების პროგრამირება პითონში, IBM developerWorks- ის მიერ
  • სოკეტის პროგრამირება HOWTO Python.org– ზე
  • პითონის ქსელის პროგრამირება – სახელმძღვანელო მითითებები.

ვებ – სოკეტები Ruby– ში

  • სოკეტის კლასის ბიბლიოთეკის გვერდი ruby-doc.org
  • სოკეტის შესავალი პრაქტიკის შესახებ რუბი გითუბის გვერდზე
  • IBM DeveloperWorks PDF პაკეტებზე Ruby– ში.

ქ & ა

რა განსხვავებაა ვებ პორტსა და ინტერნეტ სოკეტს შორის?

ა. ეს შეიძლება იყოს საკმაოდ ტექნიკური პასუხი, მაგრამ ზედაპირზე – ვებ – სოკეტი არის TCP კავშირის დასასრული, ხოლო პორტი არის „ვირტუალიზაციის იდენტიფიკატორი“ და არ ითვლება ქსელის ნაწილად, თუ არ არის ჩასმული IP მისამართი, მას ვებ პორტში შესასვლელად..

„უბრალო ინგლისურ ენაზე“, „პორტი“ არის დანომრილი მისამართი, რომელიც ნაპოვნია კონკრეტულ მოწყობილობაზე, ხოლო „სოკეტი“ უკავშირდება კომუნიკაციის პროგრამებს. განაცხადის გარეშე არ არის “სოკეტი”.

Q. როდის უნდა გამოვიყენო RESTful ზარები ვებ – სოკეტების წინააღმდეგ?

ა. ჩვეულებრივ, RESTful ზარები უფრო სასარგებლოა მონაცემების მცირე ნაწილებისთვის, მაგალითად, ვებ – ფორმის მსგავსად, რომელიც გამოწვეულია დაწკაპუნებით მოვლენაში. ვებ – სოკეტებისთვის საჭიროა „ხელის მოკიდების“ დაყენება, რომლითაც შესაძლებელი ხდება მონაცემების ნაკადი დაკავშირების საშუალებით.

ზოგადად ეს საუკეთესოა დიდი ფაილების გადამოწმებისთვის, როგორიცაა ონლაინ ვიდეო ან რეალურ დროში კომუნიკაციისთვის.

ყველა ეს კონცეფცია ჩემთვის სიურრეული და რთულია, სხვაგან უნდა დავიწყო?

ა. ეს ყველაფერი შენზეა დამოკიდებული! თქვენ ალბათ უნდა გაეცნოთ მინიმუმ ერთ პროგრამირების ენას, სანამ შეეცდებით გამოიყენოთ ვებ – სოკეტების გამოყენებას, მაგრამ ყოველთვის შეგიძლიათ იპოვოთ კარგი ინსტრუქტორი ან პროექტი, სადაც შეძლებთ ისწავლონ როგორც ენა, ასევე სოკეტები..

უბრალოდ იყავით მომთმენი და იყავით ოპტიმისტური, ვებ – სოკეტების მიღება შეიძლება რთული იყოს, მაგრამ ძალიან სასარგებლოა!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map