在 Firefox/Chrome devtools 中有没有办法在连接后发送/编辑 websocket 消息

Iri*_*ina 5 mozilla google-chrome devtools websocket google-chrome-devtools

我有一个 Safari/Firefox/Chrome 浏览器。我的浏览器有开发工具。有没有办法为现有连接发送/编辑 websocket 消息?还是通过插件?

谢谢

Miš*_*išo 12

  1. 您可以通过打开控制台并写入 来列出 Chrome 页面上的所有 WebSocket 连接queryObjects(WebSocket)。一段时间后它应该列出所有实例。
  2. 然后选择您要使用的对象并右键单击它并选择“将对象存储为全局变量”。
  3. 这将创建一个新变量,例如 temp1,以便您可以使用 发送消息temp1.send(JSON.stringify({websocket: 'message'}))

已找到 WebSocket 的 Chrome 控制台


Dhe*_*jje 8

您可以获取连接实例websocket,并可以进一步使用它来发送更多消息。

抓取socket连接实例

您必须了解 websocket 连接的建立,如下所示:

websocket = new WebSocket('your-ws-url-goes-here');
Run Code Online (Sandbox Code Playgroud)

现在您可以使用 的实例websocket并可以使用.send().close()

您的问题表明您想要使用现有的连接的 Web 套接字,您可以在源代码中查找套接字连接实例,并可以使用它来发送进一步的消息。

玩的例子

您可以在http://websocket.org/echo.html上使用 websocket 及其实例

请注意这里

var wsUri = "wss://echo.websocket.org/";
Run Code Online (Sandbox Code Playgroud)

和功能有

websocket = new WebSocket(wsUri);
Run Code Online (Sandbox Code Playgroud)

你知道 websocket 已连接并且有实例websocket

您可以打开devtool并键入websocket以查看所有选项。因此,在您的情况下,您需要找到连接实例,以便可以使用它。

关于编辑现有消息

我找不到是否有任何方法可以编辑已发送的消息,我认为它不应该在那里。您可以发送新消息,因为之前的消息必须已经得到回复。

  • @adamczi 获取 websocket 实例:`devtools -> 内存 -> 堆转储,搜索“websocket”并展开,右键单击其中一些 -> 存储为全局变量`。可能有多个,因此您需要正确的一个,请检查“temp1.url”进行查看。 (16认同)
  • 此方法只允许创建另一个到服务器的 WebSocket 连接,不允许重用现有连接。OP 要求在现有连接内发送消息。 (5认同)