In telecommunication a duplex communication system is a point to point system composed of 2 or more connected devices.
And it can be:
HTTP 1.1, HyperText Transfer Protocol is a Half-duplex system.
So writing chat applications using i.e. LAMP Stack, (Linux, Apache, Mysql & PHP), it involve:
- Actively sampling the status of the server (Polling) for changes
- Keep track timestamp and
- Itβs slower than it should be.
Socket have traditionally been the solution for real-time chat application are architected, supplying a bi-directional (Full-duplex) communication channel between the client and the server. It actually use the URI format.
ws://userinfo@host:port/path?query#fragment
This is just a start to wrap your mind around in case you want to understand how socket.io
It also contains very helpful examples
Top comments (2)
Is it though? AFAIK http/1.1 can write responses while the request is still being sent, and with http/2 the bidirectional communication becomes even more obvious (ref: http2.github.io/http2-spec/#Stream...).
I could be wrong so please, correct me if I am.
I already update the post. It's HTTP/1.1 which behave as a half-duplex, it can be use as a full-duplex using http polling, but acording to the Socket.io docs, it's more slower than it should be, when writing chat applications.