2012-08-30 36 views

回答

1

我假设你正在谈论的是WebSockets而不是其他协议(Flash,Java applet和Silverlight原生套接字或XMLHttpRequest连接)。 WebSockets是来自IETF的HTTP系列规范,并且不直接与HTML5相关(尽管它们都在下一代Web标准的扩展系列中)。

浏览器WebSocket实现只能与故意支持WebSocket协议的服务器通信。您当然可以使用ServerSocketChannel编写一个支持WebSocket协议的服务器,但WebSocket将无法连接到在没有WebSocket协议的情况下编写的任意服务(使用ServerSocketChannel或不使用)。

这是一个故意的安全措施,以防止Web浏览器被迫连接到非Web相关的服务(例如端口25发送垃圾邮件)。

如果你想在ServerSocketChannel之上编写一个WebSocket协议层,你需要在实现the spec时加入一些不重要的工作。重新使用an existing library似乎更明智。

相关问题