So far, we have covered a variety of ways of communicating back and forth between a client and a server, but they have all had one thing in common—they were reacting to some form of interaction to trigger the transfer of data. Irrespective of whether we clicked a link or pushed a button, there was some user input that triggered that back and forth between the two sides.
There are some situations, however, where we would like to keep the lines of communication between the client and the server open permanently so that data can be pushed as soon as it's available. If we were playing an online game, for instance, we wouldn't want to have to push a button just to get other players' statuses updated on our screen. What we need is a technology that maintains the connection for us and allows us to pass messages...