Files
2024-07-24 13:13:26 +08:00

49 lines
1.2 KiB
JavaScript

const WebSocket = require('ws');
async function sendMessageAndWaitForResponse(addres, message) {
return new Promise((resolve, reject) => {
const socket = new WebSocket(addres);
buffarr=[];
socket.on('open', () => {
socket.send(message);
});
// 监听服务器返回的消息
function messageHandler(response) {
// 在这里处理服务器返回的消息
// 可以根据需要解析 JSON 或其他处理
buffarr.push(response)
socket.off('error',errorHandler)
}
function errorHandler(err)
{
console.log(err)
buffarr.push(Buffer.from("error"))
resolve(buffarr);
}
socket.on('error',errorHandler);
// 监听服务器返回的消息
socket.on('message', messageHandler);
// 处理连接关闭情况
socket.on('close', () => {
resolve(buffarr);
});
});
}
async function runinws( message,addres){
let aa=await sendMessageAndWaitForResponse(addres,message)
if(typeof aa[0]!="array"||aa.length==0)
{
aa=[Buffer.from("error")]
}
return aa
// console.log(aa[1].toString())
}
exports.runinws=runinws