当前位置: 首页 > 面试题库 >

如何终止WebSocket连接?

程卓君
2023-03-14
问题内容

是否可以在不关闭整个服务器的情况下终止服务器的Websocket连接?如果是这样,我该如何实现呢?

注意:我使用NodeJS作为后端和’ws’websocket模块。


问题答案:

如果要踢所有客户端而不关闭服务器,则可以执行以下操作:

for(const client of wss.clients)
{
  client.close();
}

wss.clients如果您要特别寻找一个,也可以进行过滤。如果您要踢客户端作为连接逻辑的一部分(即,它发送错误的数据等),则可以执行以下操作:

let WebSocketServer = require("ws").Server;
let wss = new WebSocketServer ({ port: 8080 });

wss.on('connection', function connection(ws) {
    ws.send('something');
    ws.close(); // <- this closes the connection from the server
});

和一个基本的客户

"use strict";
const WebSocket = require("ws");
let ws = new WebSocket("ws://localhost:8080");
ws.onopen = () => {
    console.log("opened");
};
ws.onmessage = (m) => {
    console.log(m.data);
};
ws.onclose = () => {
    console.log("closed");
};

你会得到:

d:/example/node client
opened
something
closed


 类似资料:
  • 问题内容: 我正在用MySQL建立一个网站。我将TOAD用于MySQL,突然出现错误,无法连接数据库: “太多联系” Toad for MySQL中有什么方法可以查看现有连接以杀死它们或简单地将所有连接全部关闭? 问题答案: 不, 没有内置的MySQL命令 。有多种工具和脚本支持它,您可以手动终止某些连接或重新启动服务器(但这会比较慢)。 使用查看所有连接,进程ID是你想杀死。 您可以编辑超时设置

  • 本文向大家介绍如何终止WebWork?相关面试题,主要包含被问及如何终止WebWork?时的应答技巧和注意事项,需要的朋友参考一下 Web Worker 使用教程

  • 问题内容: 我正在尝试使用H2OR内的库在具有7000万行和25个数字特征的训练集上使用随机森林分类模型。总文件大小为5.6 GB。 验证文件的大小为1 GB。 我的系统上有16 GB RAM和8核CPU。 系统成功读取了H2O对象中的两个文件。 然后,我给出以下命令来构建模型: 但是几分钟(不生成任何树)后,出现以下错误: “ .h2o.doSafeREST中的错误(conn = conn,h2

  • 我有一个应用程序,其中DB连接由Spring配置创建(然后传递到hibernate)。以下是spring文件中的默认参数。 然而,在特定的环境中,Oracle DB连接会在一段时间后被网络设置关闭。我们最初认为关闭连接是因为连接处于空闲状态。我们添加了validationQuery,以便定期在服务器上发布查询,这样连接就不会空闲。 即使在上述设置之后,连接仍然会关闭 还观察到,当应用程序空闲2-3

  • 我正在对一个拥有7000万行和25个数字特征的训练集使用R内部的< code>H2O库来尝试一个随机森林分类模型。总文件大小为5.6 GB。 验证文件的大小为 1 GB。 我的系统上有16 GB RAM和8核CPU。 系统成功读取H2O对象中的两个文件。 然后我发出以下命令来构建模型: 但是几分钟后(没有生成任何树),我得到以下错误: "在. h2o.doSafeREST(conn = conn,

  • b.服务器与网络物理断开连接。客户怎么知道的? c.服务器程序关闭而不进行优雅的断开连接。客户怎么知道的?