【发布时间】:2021-07-16 23:55:08
【问题描述】:
我有一个 Firefox 扩展,它创建一个 websocket 客户端并向服务器发送一条消息。分机和服务器在同一个系统上。如果我使用local,websocket 会连接到服务器。如果使用接口的 IP 地址,则客户端无法连接到服务器。作为我可以使用 IP 地址进行连接的证据,我还有其他客户端和服务器应用程序,它们通过具有 IP 地址的原始套接字相互连接,并且服务器接收到消息。
我使用安全的 websocket。我将证书添加到 Firefox 的证书管理器中。
我不确定问题是我的地址格式不正确还是扩展清单中缺少权限。
manifest.json:
{
"description": "weblogging app",
"manifest_version": 2,
"name": "weblogger",
"version": "1.0",
"browser_specific_settings": {
"gecko": {
"id": "browser_logger@example.org",
"strict_min_version": "50.0"
}
},
"background": {
"scripts": ["background.js"]
},
"permissions": []
}
background.js:
var websocketArguments = 'wss://192.168.1.123:9501';
var webSocket;
createWebsocket();
function onError(error)
{
console.log(`Error: ${error}`);
}
function createWebsocket()
{
webSocket = new WebSocket(websocketArguments);
webSocket.onerror = onWebSocketError;
webSocket.onopen = onWebSocketOpen;
}
function onWebSocketError(event)
{
console.log("WebSocket error observed:", event);
};
function onWebSocketOpen(event)
{
console.log("WebSocket open: ", webSocket.readyState);
webSocket.send("hello");
};
【问题讨论】:
标签: websocket firefox-addon-webextensions