Websocket is like “a TCP for JavaScript”

0

Czytam
https://daniel.haxx.se/blog/2021/09/16/you-wanted-websockets/
I tam jest
Websocket is like a TCP for JavaScript
Czy może mi ktoś nakreślić czemu taka opinia (nie znam się na JS, dlatego nawet nie potrafię zewaluować tej sentencji).

Co, że w innych językach jest lepiej, inaczej i Websocket został wymyśl by jako TCP dla JS?

2
Patryk Mieleszko napisał(a):

Co, że w innych językach jest lepiej, inaczej i Websocket został wymyśl by jako TCP dla JS?

co? to jest po polsku w ogóle napisane?
no websocket pozwala na utrzymanie stałego połączenia dwustronnego między serwerem a klientem, trochę jak tcp, z tym że porównanie nie ma sensu bo tcp to inna warstwa i przecież http leci i tak po tcp (no poza http 3 gdzie jest użyty QUIC/UDP). Ja bym powiedział raczej że websocket pozwala w większym stopniu wykorzystać protokół TCP

0

@Patryk Mieleszko: a wiesz czym jest TCP ?

2

może w stwierdzeniu Websocket is like a TCP for JavaScript chodzi o to, że websocket jest najcieńszą warstwą abstrakcji nad tcp dostępną dla javascriptu?

powoli wchodzi również https://w3c.github.io/webtransport/
ciekawe co o tym powiedzą. webtransport is like an udp for javascript?

0

@Patryk Mieleszko: trochę głupie określenie, bo JS bardzo mocno używa TCP (HTTP). Zgaduję. że chodzi to analogię: HTTP pozwala na request/response flow, jego zadaniem nie jest trzymanie połączenia i asynchroniczna komunikacja w obie strony. WebSockety pozwalają na to, przez co ich przypadki użycia pokrywają się z tym co można zrobić w TCP. Samo TCP w gołej postaci nie jest dostępne z przeglądarek, więc użycie WebSocketów pozwala rozwiązać problemy, które w normalnych okolicznościach rozwiązuje TCP

0

Dziwne że nikt nie pamięta o BOSHu ;)

1

To jest wyjaśnione dosłownie w następnym zdaniu

It provides a bidirectional data stream over HTTP.

W każdym razie porównanie bez sensu, bo to zupełnie inna warstwa abstrakcji. Zresztą w innym języku też raczej nikt normalny nie pisze po czystym TCP tylko bierze bardziej cywilizowany protokół. Na przykład WebSockets.

0
szatkus napisał(a):

Zresztą w innym języku też raczej nikt normalny nie pisze po czystym TCP tylko bierze bardziej cywilizowany protokół. Na przykład WebSockets.

Zależy od użycia. Dużo tak zwanego IoT lata po gołym TCP albo UDP.

0

No może i lata po gołym ale przecież nikt do tego się w JS nie dobiera (do gołego urządzenia IoT), raczej leci IoT - jakiś serwer - frontend.

0
Patryk Mieleszko napisał(a):

No może i lata po gołym ale przecież nikt do tego się w JS nie dobiera (do gołego urządzenia IoT), raczej leci IoT - jakiś serwer - frontend.

Nie dokonać rozumiem o czym piszesz. Rożnego rodzaju urządzenia IoT są czasem bardzo potężne. Wystarczająco potężne by stał tam Node i wykonywał się tam JS ( JS embedded, zawsze mnie śmieszy gdy o tym myślę, ale tak się zdarza :D )

1 użytkowników online, w tym zalogowanych: 0, gości: 1