A Beginner's Guide to WebSockets

แชร์
ฝัง
  • เผยแพร่เมื่อ 20 ธ.ค. 2024

ความคิดเห็น • 126

  • @bojanistvancic6237
    @bojanistvancic6237 3 ปีที่แล้ว +173

    This dude is awesome! Short and precise without needless details. The tempo of the presentation and the accent is just fantastic. 10/10
    We need more teachers like him.

    • @marcogelsomini7655
      @marcogelsomini7655 3 ปีที่แล้ว +9

      is he 18 years old???

    • @cusematt23
      @cusematt23 ปีที่แล้ว

      @@marcogelsomini7655 crazy. good for him.

  • @m.kaschi2741
    @m.kaschi2741 3 ปีที่แล้ว +21

    Perfect introduction for me. Thank you very much. Can't believe you were 18 years old when you did this.

  • @georgesmith3022
    @georgesmith3022 6 ปีที่แล้ว +199

    transport layer is above internet layer

    • @AndronePro
      @AndronePro 3 ปีที่แล้ว +104

      Everything is upside down in Australia

    • @luthfiaersyanad.2058
      @luthfiaersyanad.2058 3 ปีที่แล้ว +11

      @@AndronePro this reply is so funny lmao

    • @techchanx
      @techchanx 3 ปีที่แล้ว +1

      Yes, its actually Network layer.

    • @godamkeras4144
      @godamkeras4144 3 ปีที่แล้ว +1

      thank you..

  • @builtbywalsh
    @builtbywalsh 2 ปีที่แล้ว +18

    This is still amazing, even in 2022. There is now so much wide spread support for websockets, thinking apollo client in particular, that it's nice to get back to fundamentals. Starting with the OSI layer and working our way all the way up the stack to socket IO. Great job!

  • @lightninginmyhands4878
    @lightninginmyhands4878 5 ปีที่แล้ว +72

    Outstanding, I wish this was an hour long.

    • @Chris_t0
      @Chris_t0 3 ปีที่แล้ว +32

      you are in luck, in 2021 you can watch the video at 0.5x speed

    • @akashchoudhary8162
      @akashchoudhary8162 2 ปีที่แล้ว +1

      @@Chris_t0 😂

    • @yosansu
      @yosansu 2 ปีที่แล้ว +1

      😂😂

  • @joshelguapo5563
    @joshelguapo5563 10 หลายเดือนก่อน

    I hate networking with a passion, but this was a such a great, painless explanation of things, I appreciate it so much

  • @po6577
    @po6577 ปีที่แล้ว +2

    18yr of age... you always amaze how many young dude in this industry doing some amazing jobs...

    • @2scocx
      @2scocx หลายเดือนก่อน

      we can clearly admire and respect this young man since he at the young age of 18 he is able to demonstrate great knowledge of networking and computer science concepts while also phrasing it to a room and making it so fluent and understandable. I know he will do amazing things

  • @ozzyfromspace
    @ozzyfromspace 3 ปีที่แล้ว +30

    I don't use python for web development (I'm on the node train) but his presentation was so we'll executed that I watched the whole thing and learned something 😊🙏🏽

  • @limitless9483
    @limitless9483 3 ปีที่แล้ว

    This is language agnostic regardless of what you're working with you'll benefit from watching this amazing vid.

  • @unhealthytomato3219
    @unhealthytomato3219 2 ปีที่แล้ว +8

    The whole thing is amazing for a complete beginner

  • @lingerie13
    @lingerie13 5 ปีที่แล้ว +8

    Thank you Dion for this excellent piece of presentation and for sharing the code

  • @Adrian-uc7bi
    @Adrian-uc7bi 4 ปีที่แล้ว +61

    That sql injection attempt at 14:17 heh

  • @__nog642
    @__nog642 4 ปีที่แล้ว +9

    3:05 Since when is IP above the transport layer?

  • @AnilGoudarS
    @AnilGoudarS 6 ปีที่แล้ว +4

    @freecodecamp , please add resources about data science also.
    Your channel has been a source of information for me. Thank you so much for your efforts.

  • @lightninginmyhands4878
    @lightninginmyhands4878 5 ปีที่แล้ว +2

    Yes. It is to my delighted surprise this will be in Python

  • @WilliardPippenhuffel
    @WilliardPippenhuffel 10 หลายเดือนก่อน

    The transport layer is above the internet layer and SSL is in the presentation layer.

  • @N.E12
    @N.E12 3 ปีที่แล้ว

    Thx, Dion. I saved it to watch it again

  • @rosmicknangue9219
    @rosmicknangue9219 2 ปีที่แล้ว

    A very great, precise and valuefull presentation, Thank You.

  • @saltdomeguy
    @saltdomeguy 3 ปีที่แล้ว +2

    Very good talk. I learned quite a bit.

  • @ayushmaanchauhan377
    @ayushmaanchauhan377 3 ปีที่แล้ว +2

    Really awesome video to understand web sockets

  • @eminberkay
    @eminberkay 2 ปีที่แล้ว +1

    Funny lecture 😀 loved the content, thanks Dion

  • @lightninginmyhands4878
    @lightninginmyhands4878 5 ปีที่แล้ว +12

    9:15 - so infinite scrolling is AJAX?

    • @light5068
      @light5068 4 ปีที่แล้ว +2

      yes , you just listen to the scrolling event and request additional data

    • @prashantsihag3489
      @prashantsihag3489 4 ปีที่แล้ว

      @@light5068 ah so instead of a button you tie the request with the scrolling event. That seems quite good. Doesn't need websockets anymore than do we ?

    • @tikz.-3738
      @tikz.-3738 3 ปีที่แล้ว +2

      @@prashantsihag3489 websocket is a full fledged solution to these kind of dynamic websites whereas pinging and ajax are type of workaround but ajax is pretty good too but if u need dynamic content to be accurate at seconds like trading apps then u need websockets

    • @tikz.-3738
      @tikz.-3738 3 ปีที่แล้ว +1

      @@prashantsihag3489 also websockets is two way connection if u only want to push data and not take any dynamic data from client u should use server side events that's better coz web sockets add a bit more overhead and also can make u prone to attacks as u listen to client and have vulnerabilities

  • @sekarcse
    @sekarcse ปีที่แล้ว +1

    Nice and simple explanation

  • @SritamPaltasingh
    @SritamPaltasingh ปีที่แล้ว

    Loved the explanation

  • @cigomba
    @cigomba 2 ปีที่แล้ว

    Thanks for this nice talk bro. This really helped me connect a lot of missing links for this chat app I'm making in flask!

  • @Tomkens1985
    @Tomkens1985 3 ปีที่แล้ว +3

    That was great and clear, Thank you!

  • @ricardomontesinos4344
    @ricardomontesinos4344 ปีที่แล้ว

    This guy explains very well.

  • @nwokporochukwuebuka
    @nwokporochukwuebuka ปีที่แล้ว

    Thanks for this wonderful piece

  • @alexbordei9115
    @alexbordei9115 4 ปีที่แล้ว +4

    i wish you would have spoken more at the end about the deployment, I'm stuck on some stuff lol and it would have helped.

    • @zaidshaikh2536
      @zaidshaikh2536 3 ปีที่แล้ว

      You can check Hussain Nasser's channel on TH-cam for Websockets.

  • @koleen3799
    @koleen3799 6 ปีที่แล้ว +6

    thanks! i really need an intro to WS

  • @АлександрБадаландабад
    @АлександрБадаландабад 3 ปีที่แล้ว

    Good job, man, take care, every success to you !

  • @yiannisserpico2646
    @yiannisserpico2646 5 ปีที่แล้ว +12

    In just simple words:websockets is a self refresh.

  • @BarziniNwa
    @BarziniNwa 2 ปีที่แล้ว +1

    I laughed along and learnt something new as well 😂

  • @berk_karaal
    @berk_karaal 2 ปีที่แล้ว +2

    That was really informative, thanks 👍

  • @chowdaryjobxrobot288
    @chowdaryjobxrobot288 2 ปีที่แล้ว +1

    the fun factor is 18 years old guy teaching me 25 years old guy listening.

  • @TheVertical92
    @TheVertical92 2 ปีที่แล้ว

    Damn very good for an 18yr old.
    Very good introduction especially if you come from Python.

  • @Ayoubased
    @Ayoubased ปีที่แล้ว

    what does it mean when we say that UDP doesnt care about losing data while streaming videos? Shouldn't we get the whole video back? I never noticed a video that isnt well sent and dont understand that implementation example.

    • @plugthesnippet6583
      @plugthesnippet6583 ปีที่แล้ว

      My guess is when a video is playing on lower quality, there was data loss

    • @会供価
      @会供価 ปีที่แล้ว

      I think it’s when a video is buffering or live stream is lagging for a couple second it means u lost data and then it goes right back to good quality. So udp is faster.

    • @harshjain4989
      @harshjain4989 4 หลายเดือนก่อน

      Let's say you are watching video at 60fps. Each second you get 60 frames. However if one of the frames is lost or corrupted then you would not even notice as our eyes can't tell if a single frame is skipped or not. This is what is meant by it doesn't care about losing data.

  • @gunnerandersen4634
    @gunnerandersen4634 2 ปีที่แล้ว +3

    the guy trying to do some sql injection was epic xD

  • @1337treats
    @1337treats 5 ปีที่แล้ว +18

    "Please be reasonable" -he pleads

  • @maazchowdhry2893
    @maazchowdhry2893 8 หลายเดือนก่อน

    Amazing. Thankyou✨

  • @smartsniper268
    @smartsniper268 6 ปีที่แล้ว +5

    can you make a video about how to get certified from "free code camp"...

  • @newbiedevolution491
    @newbiedevolution491 3 ปีที่แล้ว

    Amazing! Thank you Dion!!

  • @JoseLuisMorales
    @JoseLuisMorales ปีที่แล้ว

    Great explanation thanks

  • @hhbadarin
    @hhbadarin 3 ปีที่แล้ว

    Great content, Thank You.

  • @sengendomark-xe6id
    @sengendomark-xe6id ปีที่แล้ว

    Freecord camp is the best

  • @kishanksi
    @kishanksi ปีที่แล้ว

    please, anyone explaim where do i have to run this websocket logic codes???

  • @randyt700
    @randyt700 3 ปีที่แล้ว

    Websockets seem cool but is it scalable? What tools/frameworks/technologies are now sort of obsolete with advent of websockets?

  • @Jonathan998
    @Jonathan998 4 ปีที่แล้ว +2

    Thanks for the video!!!

  • @rohmanatasi1771
    @rohmanatasi1771 3 ปีที่แล้ว

    is this different from the Network sockets ? You know the one that is used for establishing a connection between 2 computers or between a server and a client?

    • @SirusStarTV
      @SirusStarTV 3 ปีที่แล้ว

      The WebSocket protocol is implemented on top of tcp

  • @pixelsquarelight
    @pixelsquarelight ปีที่แล้ว

    I have no idea what a haytch is. Had no idea that there was an HTTP alternative called haytch. Please tell me more.

  • @lgent2435
    @lgent2435 3 ปีที่แล้ว

    Hello, can websocket technology be used in mobile application?

    • @SirusStarTV
      @SirusStarTV 3 ปีที่แล้ว +1

      Whichever programming language you use for mobile app development should support web socket protocol

  • @bialcus69
    @bialcus69 6 ปีที่แล้ว +4

    Holy s...! This is awesome!

  • @colinmaharaj
    @colinmaharaj 3 ปีที่แล้ว +2

    I am trying to convert Python to C, because python is slow for certain operations.

  • @santiagomartinez3417
    @santiagomartinez3417 3 ปีที่แล้ว

    Very useful, thanks.

  • @xcelestialdemon8245
    @xcelestialdemon8245 ปีที่แล้ว

    Are the weaknesses mentioned still an issue today not that it's more mature?

  • @bgm1140
    @bgm1140 6 หลายเดือนก่อน

    every time he says "um", a mosquito lands in someone's throat somewhere in the world

  • @funnyship6802
    @funnyship6802 4 ปีที่แล้ว +9

    Haytch TTP

  • @MajesticaYEH
    @MajesticaYEH ปีที่แล้ว

    He is really good

  • @abhay626
    @abhay626 ปีที่แล้ว

    Amazing!

  • @Silvertestrun
    @Silvertestrun 2 ปีที่แล้ว +1

    Ty

  • @edwardokeyoobala380
    @edwardokeyoobala380 3 ปีที่แล้ว

    Thank you so much

  • @coding3438
    @coding3438 ปีที่แล้ว +1

    This guy was 18 back then????😮

  • @elClubdelas7Cifras
    @elClubdelas7Cifras 2 ปีที่แล้ว

    hi, so he mentions websockets and thrid party API not recommended ? I am thinking about creating a crypto platform that pulls info on real time from binance. Actually, i checked that websocktes are avilable from Binance API data. So, is there any specific challenge about combining websocktes and API requests ?

  • @itaybeyder9701
    @itaybeyder9701 3 ปีที่แล้ว

    Amazing ThankYou !

  • @PatteeGreen
    @PatteeGreen ปีที่แล้ว

    Thank you!!

  • @avivran1198
    @avivran1198 2 ปีที่แล้ว

    on time 3:30: the order of the protocols is wrong. quite embarrassing

  • @vachanmn8261
    @vachanmn8261 3 ปีที่แล้ว

    very informative

  • @munyac
    @munyac 4 ปีที่แล้ว

    Nice one

  • @ahmedghallab5342
    @ahmedghallab5342 ปีที่แล้ว

    شكرا thanks

  • @santiagopabloortiz6322
    @santiagopabloortiz6322 2 ปีที่แล้ว

    Gold!

  • @hanneemiliemrk2004
    @hanneemiliemrk2004 3 ปีที่แล้ว +2

    "this probably isn't the best implementation of it" haha. well done though lad, many thanks

  • @dec0077sa
    @dec0077sa ปีที่แล้ว +2

    He lost me when he put the IP layer above the TCP layer... it's the other way around: IP layer 3, TCP layer 4, Application layer 7

  • @Umar0x01
    @Umar0x01 3 ปีที่แล้ว

    Thanks!

  • @Rahul-mf2we
    @Rahul-mf2we 4 ปีที่แล้ว +12

    20 year old me taking a class by 18 year old. 😳

    • @Sagar_Singh.
      @Sagar_Singh. 4 ปีที่แล้ว

      he was 18 years old in 2018

    • @martingay3064
      @martingay3064 3 ปีที่แล้ว +9

      @@Sagar_Singh. haha - I was 18 in 1980 !!!. ... and still learning !!

    • @nobytes2
      @nobytes2 2 ปีที่แล้ว +4

      I'm 38 and I'm here learning lol

    • @namnguyenthanh2997
      @namnguyenthanh2997 ปีที่แล้ว +1

      I'm 24 and I'm here too :)))

  • @dhruvkumar-br2lp
    @dhruvkumar-br2lp 11 หลายเดือนก่อน

    Thanks❤‍🔥

  • @chandlerbarnes
    @chandlerbarnes 4 ปีที่แล้ว

    Testing websocket for TH-cam

  • @CarlosEduardo-bj9tk
    @CarlosEduardo-bj9tk 3 ปีที่แล้ว

    Video: I'm Dion Misic
    What I heard: I'm doing music
    ...sorry :(

  • @danvilela
    @danvilela 4 ปีที่แล้ว +1

    But how web sockets work? How the browser do this?

    • @mariuszdziem8203
      @mariuszdziem8203 4 ปีที่แล้ว +2

      IT just works! :) If you want to know more, download open source Chromium code, and have a look in milions lines of code ;) You need a lot of patience to figure it out :)
      Browser knows the protocol, and use that protocol, to behave in proper steps.
      It connects to normal IP number, and knows that protocol deals with websockets. Thats it.

    • @tikz.-3738
      @tikz.-3738 3 ปีที่แล้ว

      U send request to server the server recives it and has a code defined to reply to it when reply is received on front end u can render it as u define on client js, now browser s role is just helping u navigate to site give basic css and show html and run client js rest all is ur code u don't need to look at broweser code and it isn't required to know how websockets work

  • @thewolfofswingthat2035
    @thewolfofswingthat2035 3 ปีที่แล้ว +1

    this guy is 18 years old???

  • @Dwika34
    @Dwika34 2 ปีที่แล้ว

    So it is an infinite loop

  • @rawgov
    @rawgov 3 ปีที่แล้ว

    Dude's 18? In Earth Time?

  • @VamsiKrishna-yt5hi
    @VamsiKrishna-yt5hi 4 ปีที่แล้ว +1

    18? really?

  • @darrenlefcoe
    @darrenlefcoe 3 ปีที่แล้ว

    love node.js, but js is unhelpful in pycon which is for python.

  • @KrishSanj
    @KrishSanj 5 ปีที่แล้ว +3

    18 year old.. aaaaaaha

  • @seyittumturk3769
    @seyittumturk3769 2 ปีที่แล้ว

    how is he 18

  • @simbol5638
    @simbol5638 2 ปีที่แล้ว

    18 years old?
    what the hell am i doing with my life

  • @hamad1028
    @hamad1028 3 ปีที่แล้ว +2

    Spent needless time on explaining HTTP, Internet Protocol, TCP/UDP. In the end time was up for important stuff for which I was watching the whole video....

  • @GoldFighters15
    @GoldFighters15 2 ปีที่แล้ว

    test

  • @FordExplorer-rm6ew
    @FordExplorer-rm6ew 5 ปีที่แล้ว

    Tattoos

  • @BlurryBit
    @BlurryBit 2 ปีที่แล้ว

    not..very..enthusiastic though.

  • @peta1001
    @peta1001 3 ปีที่แล้ว

    You are trying to teach this open-source subject (web-design related topics) on the totally closed platform (MAC machines and OS). Is this a joke? If not, then call your video "dedicated to MAC lovers only...not for the vast open source community". I cannot believe a software engineer would use a fashion-designer's tool... unless he works for Apple.

    • @xxMikePortnoyJrxx
      @xxMikePortnoyJrxx 3 ปีที่แล้ว +3

      I don't think you know what you're talking about

    • @peta1001
      @peta1001 3 ปีที่แล้ว

      @@xxMikePortnoyJrxx ... if you believe no one sees you U using MAC, I apologize to JoeBlowMacLower...do not be so defensive... I just think that, unless you are a highly paid MAC employee, you should (if you are a software engineer) open your mind in the open-source world, open-minded, out-of-the-box.

    • @xxMikePortnoyJrxx
      @xxMikePortnoyJrxx 3 ปีที่แล้ว +3

      @@peta1001 I built my own desktop pc, and I have a dell laptop. My point stands, you don't know what you're talking about. The device someone is using has absolutely nothing to do with whether or not they can use and promote open source tools.