如何通过 IP 地址连接 Firefox 扩展中的 websocket 客户端
How to connect a websocket client in a Firefox extension through an IP address
我有一个 Firefox 扩展,它创建一个 websocket 客户端并向服务器发送消息。分机和服务器在同一个系统上。如果我使用 local
,websocket 会连接到服务器。如果使用接口的IP地址,客户端将无法连接到服务器。作为我可以连接 IP 地址的证明,我有其他客户端和服务器应用程序,它们通过带有 IP 地址的原始套接字相互连接,服务器接收消息。
我使用安全的网络套接字。我将证书添加到 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");
};
正如我在 post 中所说,我已将 SSL 证书添加到 Firefox 管理器。我遵循了 this post's 的建议:我使用 Firefox 浏览到 websocket 服务器地址的 https 并允许安全例外。 Websocket 现已连接。
https://192.168.1.123:9501
我有一个 Firefox 扩展,它创建一个 websocket 客户端并向服务器发送消息。分机和服务器在同一个系统上。如果我使用 local
,websocket 会连接到服务器。如果使用接口的IP地址,客户端将无法连接到服务器。作为我可以连接 IP 地址的证明,我有其他客户端和服务器应用程序,它们通过带有 IP 地址的原始套接字相互连接,服务器接收消息。
我使用安全的网络套接字。我将证书添加到 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");
};
正如我在 post 中所说,我已将 SSL 证书添加到 Firefox 管理器。我遵循了 this post's 的建议:我使用 Firefox 浏览到 websocket 服务器地址的 https 并允许安全例外。 Websocket 现已连接。
https://192.168.1.123:9501