【发布时间】:2011-08-29 22:48:25
【问题描述】:
我无法使用 websocket-server 和 node.js 设置安全的 websocket 连接
服务器端
var options = {
key: fs.readFileSync(PRIVATE_KEY),
cert: fs.readFileSync(CERTIFICATE)
};
// create web server
var server = ws.createServer(options);
server.listen(8000);
...
客户端
<script language="javascript" type="text/javascript">
var wsUri = "wss://url:8000";
function init() {
websocket = new WebSocket(wsUri);
}
...
window.addEventListener("load", init, false);
</script>
但它适用于 ws
var wsUri = "ws://url:8000";
有什么想法吗?
【问题讨论】:
-
您使用的是哪个浏览器?不同的浏览器支持不同版本的 WebSocket 规范,只有 Chrome 14 和 Firefox 7 支持最新的 WS 规范草案 8。另外,您如何处理“握手”以建立与 WebSocket 的连接?
-
我正在使用 google chrome (v. 15) 对于握手,我使用自签名证书。我尝试了普通的 https 服务器内置 nodejs,它适用于这个证书,我的意思是 url:port。但是 websocket-server 包中的 websockets 实现有问题。
-
我的意思是你用什么 node.js 包来处理 WebSockets?还是您正在推出自己的解决方案?你试过 Worlize/WebSocket-Node github.com/Worlize/WebSocket-Node 吗?编辑:刚刚注意到你提到了一个叫做“websocket-server”的东西,这是 node.js 的包吗?你能提供一个链接吗?
-
这里是链接github.com/miksago/node-websocket-server是的,它是nodejs包。