我了解过 WebSockets,但它们似乎不是纯粹的 "sockets",因为它们上面有一个应用层协议。"ws:"
有没有办法从Web浏览器建立纯套接字连接以使网页更生动?
以下是我胡言乱语的随机猜测
- Java提供的Applets套接字 (需要安装java)
- Flash提供的套接字(需要安装flash)
但是关于HTML5,如果它们不是套接字,为什么它们被称为WebSockets?
WebSocket协议实现起来是否简单到可以"几乎"算作套接字呢?
我了解过 WebSockets,但它们似乎不是纯粹的 "sockets",因为它们上面有一个应用层协议。"ws:"
有没有办法从Web浏览器建立纯套接字连接以使网页更生动?
以下是我胡言乱语的随机猜测
但是关于HTML5,如果它们不是套接字,为什么它们被称为WebSockets?
WebSocket协议实现起来是否简单到可以"几乎"算作套接字呢?
使用WebSockets,你可以直接在客户端和服务器之间发送数据。简单来说,WebSockets引入的唯一区别是客户端:
服务器也必须添加标题字节,但不需要编码数据。
如果你正确地实现了协议(在服务器端,因为浏览器已经有了一个实现),你可以轻松地使用它来发送文本和二进制数据。(尽管浏览器支持很窄,特别是对于后者。)
如果您要求从服务器推送某些数据,则通常称为COMET或反向Ajax。
由于存在固有的防火墙问题并且流行浏览器的支持仍然很少,因此Web套接字仍不是非常流行。
您可以查看http://www.ape-project.org/,因为这是最受欢迎的实现之一(但目前仅适用于Unix / Linux原生。对于Windows,他们建议使用基于虚拟机的实现)