我们正尝试使用Websocket在Excel 365加载项(Javascript)中与使用C ++ / Qt编写的应用程序进行通信。该应用程序在本地计算机上运行,并作为具有自签名证书的安全Websockets服务器运行。
我可以建立从Edge或Chrome到我们的本地应用程序的websockets连接,但是不能使用Excel加载项建立一个Websockets连接。是否有安全策略或类似策略阻止Excel / Office JS加载项与localhost / 127.0.0.1建立连接?
这似乎与Edge中的“允许本地主机回送”设置类似,所以我想知道Office是否为了增强安全性而强制实施了该设置。如果是这样,可以禁用它吗?
编辑:
这是简单的测试代码:
if ("WebSocket" in window) {
console.log("WebSocket is supported by your Browser!");
// Let us open a web socket
var ws = new WebSocket("wss://localhost:8080");
ws.onopen = function () {
// Web Socket is connected, send data using send()
ws.send("Message to send");
console.log("Message is sent...");
};
ws.onmessage = function (evt) {
var received_msg = evt.data;
console.log("Message is received...");
console.log(received_msg);
};
ws.onclose = function () {
// websocket is closed.
console.log("Connection is closed...");
};
} else {
// The browser doesn't support WebSocket
console.log("WebSocket NOT supported by your Browser!");
}
我确实在日志中收到成功消息:“您的浏览器支持WebSocket!”