0

如果我没记错的话,为了拥有推送技术,客户端(比如浏览器)还需要运行一个小型 Web 服务器,该服务器正在侦听某个端口(比如 ijetty 在 8080 上运行)。现在,当实际的服务器知道任何事件时,它会将事件发送给客户端。这种方式根本不涉及 PULL 机制。这是正确的吗 ?或者存在一个持久连接,只要事件发生,服务器就会在该连接上发送数据。我的问题是:在前一种情况下(如果是真的),服务器如何知道客户端的 IP?

4

1 回答 1

3

WebSockets 使用基于 TCP 连接的套接字,基本上客户端使用挑战、websocket 版本、ip 和更多数据向服务器发出连接请求,然后服务器解密挑战并将其结果返回给客户端,这个过程称为握手。

如果握手被批准,则连接建立,客户端和服务器之间的套接字连接保持打开状态,服务器会像 ping 一样向客户端发送心跳来检查连接是否仍然打开。

阅读此 wiki 以了解更多信息:

http://en.wikipedia.org/wiki/WebSocket

于 2012-10-16T11:02:30.547 回答