WebSocket
Best Practices
Reconnect in WebSocket.onclose() call back
Type different Requests and Responses, for example:
LoadRequest and LoadResponse
Code:
Random Maybe Useful Links
https://en.wikipedia.org/wiki/WebSocket
https://developer.mozilla.org/en-US/docs/Web/API/WebSocket
http://davidwalsh.name/websocket
https://medium.com/factory-mind/websocket-node-js-express-step-by-step-using-typescript-725114ad5fe4
https://github.com/JonnyFox/websocket-node-express
https://github.com/websockets/ws
https://www.npmjs.com/package/ws 13,740,637 dl
https://www.npmjs.com/package/socket.io 2,720,400 dl
https://www.npmjs.com/package/socket.io-client 3,224,869 dl
Note: Socket.IO is not a WebSocket implementation. Although Socket.IO indeed uses WebSocket as a transport when possible, it adds some metadata to each packet: the packet type, the namespace and the ack id when a message acknowledgement is needed. That is why a WebSocket client will not be able to successfully connect to a Socket.IO server, and a Socket.IO client will not be able to connect to a WebSocket server (like ws://echo.websocket.org) either. Please see the protocol specification here.
https://npmcompare.com/compare/socket.io,ws
https://www.npmjs.com/package/express-ws
https://www.educba.com/websocket-vs-socket-io/
https://www.npmjs.com/package/peer 7,727 dl; depends on ws
https://www.npmjs.com/package/peerjs 2,816 dl
https://github.com/rse/hapi-plugin-websocket
https://patrick-meier.io/realtime-timeline-with-hapi-js-nes-and-rethinkdb/
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/ws/index.d.ts
https://github.com/microsoft/TypeScript/blob/master/lib/lib.dom.d.ts#L10230 MessageEvent
https://github.com/y-js/y-websockets-client
Last updated