如果我没有错,要使用推送技术,客户端(比如浏览器)也需要运行一个小型的Web服务器,它正在监听某个端口(例如ijetty在8080上运行)。现在,当实际服务器了解任何事件时,它会将事件发送给客户端。这样就根本没有涉及PULL机制。这是正确的吗 ?或者涉及持久连接,并且只要事件发生,服务器就会在该连接上发送数据。我的问题是:在前一种情况下(如果是真的),服务器如何了解客户的IP?
答案 0 :(得分:3)
使用基于TCP连接的套接字的WebSockets,基本上客户端通过挑战,websocket版本,ip和更多数据向服务器发出连接请求,然后服务器解密挑战并将其结果返回给客户端,这个过程叫做握手。
如果握手被批准,则建立连接,套接字连接在客户端和服务器之间保持打开状态,心跳将从服务器发送到客户端,如ping,以检查连接是否仍然打开。
阅读此维基以了解更多信息: