I learned a couple of things from dealing with sockets:
* It dramatically simplified my application architecture with regard to any kind of network services or web application.
* It made every aspect of my application event-oriented. That means no network polling, no round trip delays, no performance bottle necks. Everything becomes super concurrent as network messaging is fire and forget. I suspect UDP would be even faster, but I have not tried it. I am reluctant to give up the fidelity of TCP for UDP.
* It allows radical scale of network services and everything reliant upon network services in ways I could not do before. I simply receive unexpected network messages and then handle them according to the respective message type. I can bolt on new service functionality without refactoring anything.
I have nothing to provide. It was all trial and effort on hobby code refactoring the architecture of a personal application and writing an original WebSocket client/server.
I did spend a lot of time trying to make sense of RFC6455. I also spent a lot of time trying to get self-signed localhost TLS certificates working cross-OS and this is a continuous struggle.
* It dramatically simplified my application architecture with regard to any kind of network services or web application.
* It made every aspect of my application event-oriented. That means no network polling, no round trip delays, no performance bottle necks. Everything becomes super concurrent as network messaging is fire and forget. I suspect UDP would be even faster, but I have not tried it. I am reluctant to give up the fidelity of TCP for UDP.
* It allows radical scale of network services and everything reliant upon network services in ways I could not do before. I simply receive unexpected network messages and then handle them according to the respective message type. I can bolt on new service functionality without refactoring anything.