In one of our customer projects we have used Web Sockets for client-server communication of real-time data.
What are the characteristics of Web Sockets vs. RAW sockets?
- full-duplex connection
- implementation is library dependent and OS independent
- message oriented via frames in Web Sockets Source
- runs on application layer on top of HTTP
- compatible with most firewalls and proxies
- compatible with most modern web browsers
- not auto-recover of terminated connections
- encryption included through wss, incl. man-in-the-middle-attack
- faster than Web Sockets (magnitude of 10x) Source
- runs on transport layer on top of TCP
- https://docs.microsoft.com/en-us/aspnet/core/signalr/introduction?view=aspnetcore-3.1
- https://de.wikipedia.org/wiki/WebSocket
- dotnet/aspnetcore#2881
- https://docs.microsoft.com/de-de/aspnet/core/fundamentals/websockets?view=aspnetcore-3.1
- https://docs.microsoft.com/de-de/aspnet/core/signalr/version-differences?view=aspnetcore-3.1
- https://stackoverflow.com/questions/16945345/differences-between-tcp-sockets-and-web-sockets-one-more-time
- https://medium.com/kifi-engineering/websockets-vs-regular-sockets-b3b8e7ea0708
- https://dotnetplaybook.com/which-is-best-websockets-or-signalr/
- https://www.quora.com/What-is-the-difference-between-windows-sockets-and-web-sockets
- https://blog.stanko.io/do-you-really-need-websockets-343aed40aa9b
- https://devcenter.heroku.com/articles/websocket-security
- https://thoughtbot.com/blog/json-event-based-convention-websockets
- https://tools.ietf.org/html/rfc6455
- https://www.ably.io/concepts/websockets
- http://websocket.org/quantum.html
- https://medium.com/platform-engineer/web-api-design-35df8167460
- https://crossbario.com/blog/Dissecting-Websocket-Overhead/
- https://stackoverflow.com/questions/26355077/overhead-of-idle-websockets
- https://hackernoon.com/scaling-websockets-9a31497af051
- https://github.com/facundofarias/awesome-websockets
- https://gist.github.com/subudeepak/9897212