问题遇到的现象和发生背景
js创建websocket后调用了close并打印了状态码为3,状态码3代表已完全关闭了websocket。可是在终端中端口却一直占用
问题相关代码,请勿粘贴截图
import WebSocket from 'ws';
var ws = null
export const initWSClient = (url) => {
ws = new WebSocket(url)
ws.on('open',() => {
ws.send(JSON.stringify({
code: 200,
msg: 'WS连接成功'
}));
})
ws.on('close', () => {
ws.removeAllListeners()
console.log(ws.readyState)
})
}
export const closeWs = () => {
ws.close()
}
export const onmessage = (msg) => {
ws.send(msg)
}
运行结果及报错内容
我的解答思路和尝试过的方法
我打印了readyState为3 以为是个异步关闭端口需要等待,也并没有关闭端口 除非我kill -9 掉进程,我觉得使用nodejs的exec执行kill -9是个不明智的行为。
我想要达到的结果
关闭端口号及相关监听