Our development team is working on implementing websockets in Gem4me. Today we will tell you why we are doing this, how our messenger works without web sockets, and what functionality we will have thanks to this technology.
Let's start with the terms. WebSocket is a communication protocol over a TCP connection for real-time messaging between a browser or mobile application and a web server. The key functionality of any messenger is just the exchange of data - messages, emoji, media files, etc. You may have a question: "How then does Gem4me work without this protocol at all?" It's simple, the answer is through SSE.
SSE (from the Server-Sent Events - "events sent by the server") is a technology for sending notifications from the server to the web browser in the form of DOM events. We can say that this technology is a one-way communication between the client (browser or mobile application) and the server.
This technology is no worse for sending messages than a web socket, but there is some functionality that you cannot implement on it. For example, the actual display of the user's status about typing. This is the function our team plans to implement in October. After we "test" a new protocol for us on this functionality, we will begin to transfer the work of all functionality to web sockets, which will further speed up the work of Gem4me.
Stay in touch!