3

先週の火曜日にwss://でサーバーを起動しようとしましたが、うまくいきませんでした。今日、私は WebSocket コードを調べることにしました。WebSocket が直接閉じられた理由がわかりました。これは私が見つけたエラーコードです:

1002 Unsupported usage of rsv bits without negotiated extension.
VALUE OF RSV1:Opcode: 7, fin: false, length: 69, hasPayload: true, masked: false

私のプログラムはws://では動作しますが、 wss://では動作しません。TLS がブロックされている理由がわかりません。

私は正確に IPtables が停止しており、私の証明書は問題ありません。

何か考えはありますか?

あなたが見たい場合、以下は私のコードです:

var fs = require('fs');
var https = require('https');
var WebSocketServer = require('websocket').server;
var express = require('express');

var serverTLS = express.createServer({
    key: fs.readFileSync(__dirname + '/notification_mail/notification.mail.com.key'),
    cert: fs.readFileSync(__dirname + '/notification_mail/notification.mail.com.crt')
});

serverTLS.configure(function(){
    serverTLS.set('views',__dirname);
    serverTLS.set('view engine','ejs');
});

serverTLS.get('/',function(req,res){
    res.render('index',{layout: false });
});

serverTLS.listen("443");

var wss = new WebSocketServer({ httpServer: serverTLS, autoAcceptConnections: true });

wss.on('connect', function(connection) {
    console.log((new Date()) + " Connection accepted.");

    connection.on('close', function(connection) {
            console.log((new Date()) + " Disconnected");
    });
});

console.log("Server launch");

そして私のHTMLファイル

<html>
<head>
 <meta charset="utf-8">
 <title>Example</title>
</head>
<body>
<h1>Serveur 2</h1>
<div id="tchat"></div>
<script>
   var url = "wss://notification.mail.com";
   var wsCtor = window['MozWebSocket'] ? MozWebSocket : WebSocket;
   this.socket = new wsCtor(url, 'connect');

   this.socket.onclose = function(){
      alert ("Connection lost");
   }
</script>
</body>
</html>
4

2 に答える 2

0

エラーメッセージは紛らわしいので、

ChromeまたはIE10を試しましたか?

ノード サーバーに対してAutobahnTestsuiteを実行することもできます。

テストスイートには、WSS をサポートする fuzzingclient モードがあります。テストスイートには、何が起こっているのかを突き止めるのに役立つ広範なワイヤ ログ レポートが含まれています。

開示: 私は Autobahn のオリジナルの作者であり、Tavendo で働いています。

于 2013-06-08T09:02:55.873 に答える