2012-08-30 40 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似乎更明智。

相關問題