Secure WebSocket无法连接 - 1001服务器错误

时间:2015-04-29 08:16:06

标签: javascript delphi ssl websocket

我创建了一个带有ssl证书的简单WebSocket服务器(自签名)。 该服务器是在Delphi中创建的。 如果我尝试使用Delphi客户端应用程序连接此服务器,则连接有效。 如果我尝试使用html5 / javascript程序在服务器上连接,服务器将返回错误“1001-Going Away” javascript程序使用地址“ws:// localhost:777 /”(和没有TLS逻辑的服务器),但不能使用“wss:// localhost:777 /”地址。

我粘贴程序代码:

<!DOCTYPE html>

<meta charset="utf-8" />

<title>WebSocket Test</title>

<script language="javascript" type="text/javascript">

  var wsUri = "wss://localhost:777/";
  var output;

  function init()
  {
    output = document.getElementById("output");
    testWebSocket();
  }

  function testWebSocket()
  {
    websocket = new WebSocket(wsUri);
    websocket.onopen = function(evt) { onOpen(evt) };
    websocket.onclose = function(evt) { onClose(evt) };
    websocket.onmessage = function(evt) { onMessage(evt) };
    websocket.onerror = function(evt) { onError(evt) };
  }

  function onOpen(evt)
  {
    writeToScreen("CONNECTED");
    doSend("WebSocket rocks");
  }

  function onClose(evt)
  {
    writeToScreen("DISCONNECTED");
  }

  function onMessage(evt)
  {
    writeToScreen('<span style="color: blue;">RESPONSE: ' + evt.data+'</span>');
    websocket.close();
  }

  function onError(evt)
  {
    writeToScreen('<span style="color: red;">ERROR:</span> ' + evt.data);
  }

  function doSend(message)
  {
    writeToScreen("SENT: " + message); 
    websocket.send(message);
  }

  function writeToScreen(message)
  {
    var pre = document.createElement("p");
    pre.style.wordWrap = "break-word";
    pre.innerHTML = message;
    output.appendChild(pre);
  }

  window.addEventListener("load", init, false);

</script>

<h2>WebSocket Test</h2>

<div id="output"></div>

请您解释为什么会出现这种情况,我该如何解决这个问题? 感谢

0 个答案:

没有答案