Consider these two kinds of contexts / applications:
1) When you hit a button on a page containing several input fields (the page is not a HTML form), all the infos are retrieved and sent to the server. The server then performs several tasks with that data, such as:
a) ulpoad a provided image
b) register a new row in database according to info
...and so on.
After completing each of these steps, the server sends a message to the client to inform about which process is currently being carried out on the server-side.
To do all of this, I used WebSockets (Ratchet for PHP WebSocket Server configuration, JavaScript for Browser Client Side). So far so good.
2) Next, I want to make a simple chat application, real-time, similar as Whatsapp, Telegram, etc. To do so, I also want to use WebSockets (again with Ratchet PHP on server - side and Js on client - side), but in this context, I came across ZeroMQ, and I don't really understand its purpose, no matter how many guides I read / videos I watch.
From what I understood so far is that ZeroMQ would allow the WebSocket communication to flow across a separate TCP connection, while the actual website would keep running its habitual HTTP requests across another one. Is that the only difference? In other words, is it an absolute MUST to use ZeroMQ when building chat applications with WebSockets (Consider that I run the both the WebSocket Server script as well as the website on the same server).