IT აკადემია STEP! ჩვენ 1999 წლიდან ვსწავლობთ. მაღალი ხარისხის კომპიუტერულ განათლებას მოზრდილებში და ბავშვებში.

თბილისი
ШАГ логотип

ვებ-სოკეტების გამოყენება ვებ-აპლიკაციაში

27.05.2021

892 დათვალიერება

ტექნოლოგიები რეაქტიული სისწრაფით ვითარდება.პირველი სმარტფონის გაყიდვა სულ რაღაც 10 წლის წინ დაიწყო. ალბათ გახსოვთ ის ცნობილი Iphone 3G, რომელმაც რევოლუცია მოახდინა მსოფლიოში და რადიკალური ცვლილება შეიტანა მობილური ტელეფონის ინდუსტრიაში. საოცარია იმის ნახვა, რომ რამდენიმე წლის შემდეგ, უკვე არსებობდა განახლებული ვერსია, შემდეგ კიდევ ერთი უფრო მოკლე დროში, და სხვა ... უკვე იმ დონემდე მივედით, რომ ყოველწლიურად ჩნდება დიდი კომპანიების ახალი მოდელი, რომელიც არის უფრო სწრაფი, უფრო ძლიერი, უკეთესი ჩიპით და ა.შ.

 

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

 

მაგრამ როგორ შეიძლება ამ ურთიერთქმედების მიღწევა რეალურ დროში? აქ ვებ-სოკეტები შემოდის თამაშში .

 

რა არის ვებ-სოკეტები?

ვებ-სოკეტი არის W3C-ს (მსოფლიო ქსელის კონსორციუმი) მიერ შემუშავებული ტექნოლოგია, რომელიც იძლევა ორმხრივი კომუნიკაციის საშუალებას კლიენტსა და სერვერს შორის არხების უზრუნველყოფით ერთ TCP კავშირზე. ვებ-სოკეტი საშუალებას გვაძლევს დავითხოვოთ ძველი HTTP მოდელი, სახელად „პოლინგი“, რომელიც შედგებოდა HTTP მოთხოვნების გარკვეულ ინტერვალში გაგზავნით "დაუყოვნებლივი" პასუხის მისაღებად, და აღწევს ორ წერტილს შორის პირდაპირ კომუნიკაციას მუდმივი მოთხოვნების გაგზავნის გარეშე.

 

ვებ-სოკეტების გამოყენების მაგალითები

  • კედელი (Feed) სოციალურ ქსელებში
  • მრავალმოთამაშიანი თამაშები
  • ონლაინ დოკუმენტების ერთობლივი რედაქტირება
  • ჩატები
  • ადგილმდებარეობის აპლიკაციები

 

ყველა ამ შემთხვევაში საჭიროა მომხმარებლებსა და სერვერს შორის რეალურ დროში კომუნიკაცია. როგორ იქმნება ეს კომუნიკაცია?

 

კომუნიკაცია ვებ-სოკეტებით

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

 

კომუნიკაციის დამყარების მიზნით, კლიენტი გზავნის ხელის ჩამორთვემვის თხოვნას სერვერთან. ეს მოთხოვნა შედგება HTTP მოთხოვნისაგან, შემდეგი სათაურებით.

  • “host: {url}”. მიუთითებს სერვერზე, სადაც გვინდა კომუნიკაციის დამყარება. 
  • “upgrade: websocket”. HTTP მოთხოვნის განახლების ველი საშუალებას გვაძლევს შევცვალოთ პროტოკოლი HTTP კავშირის დამყარების შემდეგ. ამ შემთხვევაში, ნაჩვენებია, რომ ჩვენ გვინდა გადავიდეთ ვებ-სოკეტის პროტოკოლზე.
  • “connection: upgrade”. ეს ველი მიუთითებს დასამყარებელი კავშირის ტიპზე. ჩვეულებრივ ხორციელდება "Keep-Alive" კავშირი, მაგრამ ამ შემთხვევაში, ვებ-სოკეტის პროტოკოლში ცვლილების შესატანად, ეს ველი უნდა შეიცავდეს კავშირის "განახლების" ტიპს.
  • “sec-websocket-key: {key}”. ეს სათაური გთავაზობთ გარკვეულ ინფორმაციას ვებ-სოკეტის სერვერიდან იმის გადასამოწმებლად, რომ ხელის ჩამორთმევის დროს მოხდა სწორი თხოვნის მიღება.

 

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

 

სხვა რა სარგებელს ვიღებთ ამგვარი გამოყენებით?

ავიღოთ ძალიან მარტივი მაგალითი, სადაც ჩვენ გვაქვს სერვერი, რომელიც მდებარეობს A ქსელში, რომელსაც სჭირდება პირდაპირი მოთხოვნების გაკეთება კომპიუტერთან, რომელიც მდებარეობს B ქსელში.

თუ კომპიუტერს აქვს საჯარო IP მისამართი (იშვიათად ხდება), პაკეტის გაგზავნა შესაძლებელია პირდაპირ კომპიუტერში. თუმცა, მანამდე, თქვენ უნდა გაიაროთ ფაიერვოლი და B ქსელის როუტერი, რაც ნიშნავს, რომ B ქსელში უნდა დაუშვათ A ქსელიდან შემოსული პაკეტები.

 

როგორც წესი, კომპიუტერებს ენიჭებათ კერძო IP მისამართი, რომელიც მხოლოდ ქსელის შიგნითაა ხელმისაწვდომი. ეს ნიშნავს, რომ პაკეტი ვეღარ გაიგზავნება პირდაპირ კომპიუტერში და ის უნდა გაიგზავნოს საჯარო IP მისამართზე B ქსელში, ანუ ქსელის წვდომის წერტილში (ფაიერვოლი).

 

მას შემდეგ, რაც პაკეტი მიაღწევს B ქსელში შესვლის წერტილს, ის უნდა გაიგზავნოს დანიშნულების კომპიუტერში, ამიტომ შესვლის ამ ეტაპზე აუცილებელია რაიმე სახის მექანიზმის დამატება, რომელსაც პაკეტი გადაჰყავს დანიშნულების კომპიუტერში (NAT).

 

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

 

ვებ-სოკეტებით კი ეს ყველაფერი დავიწყებადიც კია. როგორც უკვე ავხსენით, კავშირი არ ხდება სერვერიდან → კლიენტთან, არამედ კლიენტიდან → სერვერთან. ამ მაგალითში, ეს საშუალებას იძლევა, B ქსელის ჯგუფმა თავად გააკეთოს მოთხოვნა კომუნიკაციის შესაქმნელად პირდაპირ A ქსელის სერვერთან, წინა ნაწილში აღწერილი პროცესის შესაბამისად.

 

დაეუფლე პროფესიებს, როგორიც არის:  IT მხარდაჭერა, ინტერიერის დიზაინი, ბრენდ დიზაინი

 

შემოგვიერთდით სტეპერების დიდ ოჯახში! 

IT Academy Step ლიდერი IT სფეროში , ახლა უკვე 100+ ფილიალით!

+995 577 538 549 ქ.თელავი, ნადიკვრის #23

+995 (32) 215-55-51 ქ.თბილისი, ა.ყაზბეგის 34/34 ბ

https://www.facebook.com/itstep.ge



ავტორის სწავლების ტექნოლოგიები::

IT აკადემია STEP

AI-ს ყველაფერი შეუძლია - მაშინ რაში გვჭირდება პროგრამისტი

თუ AI კოდს წერს და საიტის შექმნაშიც გვეხმარება, რაში გვჭირდება პროგრამისტი? გაიგე, რა განსხვავებაა გენერირებულ კოდსა და საიმედო ციფრულ პროდუქტს შორის, რატომ სჭირდება AI-ის პასუხებს გადამოწმება და რა ცოდნა დაგეხმარება პროგრამირების შესწავლაში თანამედროვე ინსტრუმენტების გამოყენებით.

კოდის შექმნიდან რეალური პრობლემის გადაჭრამდე წარმოიდგინე, ხელოვნურ ინტელექტს სთხოვ: „შემიქმენი ონლაინმაღაზია“ და ცოტა ხანში ეკრანზე პროდუქტების ჩამონათვალი, კალათა და შეკვეთის ღილაკი ჩნდება. ბუნებრივია, გაგიჩნდეს კითხვა: თუ ტექნოლოგია ამას უკვე აკეთებს, რატომ უნდა დახარჯო დრო პროგრამირების სწავლაში? AI-ს შეუძლია კოდის დაწერა, არსებული კოდის ახსნა, ცვლილებების შეთავაზáƒ

ШАГ логотип

მშობლებისთვის

შენი შვილი Roblox-ს თამაშობს - აი, რა უნდა იცოდეს ყველა მშობელმა

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

რა იზიდავს ბავშვს Roblox-ში „კიდევ ხუთი წუთი!“ - თუ თქვენი შვილი Roblox-ს თამაშობს, ეს ფრაზა ალბათ ნაცნობია. ეკრანზე ფერად პერსონაჟებს ხედავთ, ბავშვი კი მეგობრებთან ერთად დაბრკოლებებს გადის, ვირტუალურ სახლს აწყობს ან ახალ სამყაროს იკვლევს. ბუნებრივია, გიჩნდებათ კითხვები: რას აკეთებს ამდენ ხანს? ვის ესაუბრება? შეიძლება ამ ინტერესს სასარგებლო გაგრძელებაც ჰქონდეს? პასუხების მოსაძებნá

ШАГ логотип

ზრდასრულთათვის

რომელი პროფესიების სწავლა აღარ ღირს 2026 წელს?

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

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

ШАГ логотип

ზრდასრულთათვის

რატომ იღებს შენზე მეტ ხელფასს ადამიანი, რომელსაც ნაკლები გამოცდილება აქვს

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

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

ШАГ логотип

ამ საიტზე გამოიყენება Cookies

Კონფიდენციალურობის პოლიტიკა