如何通过 IP 地址连接 Firefox 扩展中的 websocket 客户端
Posted
技术标签:
【中文标题】如何通过 IP 地址连接 Firefox 扩展中的 websocket 客户端【英文标题】:How to connect a websocket client in a Firefox extension through an IP address 【发布时间】: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");
;
【问题讨论】:
【参考方案1】:正如我在帖子中所说,我将 SSL 证书添加到了 Firefox 管理器。我遵循了this post's的建议:我用Firefox浏览到了websocket服务器地址的https并允许了安全异常。 websocket 现在连接了。
https://192.168.1.123:9501
【讨论】:
以上是关于如何通过 IP 地址连接 Firefox 扩展中的 websocket 客户端的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Firefox 中屏蔽来自 WebRTC 的 IP 泄漏?
Firefox扩展程序,用于创建新图标或替换位置/地址栏中的现有图标