2

HTML5 可以与 Java Serversocketchannel 通信吗?如果可能的话,谁能告诉我细节。

先感谢您。

4

1 回答 1

1

我假设您在谈论WebSockets而不是其他协议(Flash、Java 小程序和 Silverlight 本机套接字,或 XMLHttpRequest 连接)。WebSockets 是 IETF 的 HTTP 系列规范,与 HTML5 没有直接关系(尽管它们都属于下一代 Web 标准的扩展系列)。

浏览器 WebSocket 实现只能与有意支持 WebSocket 协议的服务器通信。您当然可以使用 ServerSocketChannel 编写支持 WebSocket 协议的服务器,但是如果没有考虑 WebSocket 协议,WebSocket 将无法连接到编写的任意服务(使用或不使用 ServerSocketChannel)。

这是一种经过深思熟虑的安全措施,以防止 Web 浏览器被迫连接到与 Web 无关的服务(例如,连接到端口 25 以发送垃圾邮件)。

如果你想在 ServerSocketChannel 之上编写一个 WebSocket 协议层,你需要投入大量的工作来实现规范重用现有库似乎更明智。

于 2012-08-30T14:27:31.643 回答