当前位置: 首页 > 通知公告

远程唤醒电脑

发布时间: 2024-11-08 11:07

在管理多媒体教室电脑过程中,有时需要远程打开电脑,这时就需要事先对电脑进行相应的设置并且编写远程唤醒的代码。

首先就是进入电脑的bios,查找有无网络唤醒的相关设置并且开启,然后打开windows的设备管理器,找到网络适配器,然后找到以太网相关字样(Ethernet)的设备,右键属性进入高级设置,找到唤醒魔包,将其启用。

然后按win+r,输入cmd打开cmd命令行,再输入ipconfig /all,记下以太网适配器的mac地址、ip地址、掩码。

 

之后编写代码,下面是使用node.js编写的一个实例:

 

const dgram=require('dgram')

function sendWOLPacket(macAddress, broadcastAddress) {
    // 创建一个UDP套接字
    const wolSocket = dgram.createSocket('udp4');
    
    // 构造唤醒包
    const preamble = Buffer.alloc(6, 'FF', 'hex');
    const syncStream = Buffer.concat(Array(16).fill(macAddress));
    const wakeOnLANPacket = Buffer.concat([preamble, syncStream]);
    
    // 发送唤醒包到广播地址
    wolSocket.send(wakeOnLANPacket, 0, wakeOnLANPacket.length, 9, broadcastAddress, (err) => {
        if (err) {
            console.error('Error sending WOL packet:', err);
        } else {
            console.log('WOL packet sent successfully.');
        }
        // 关闭套接字
        wolSocket.close();
    });
}

// 目标计算机的MAC地址(十六进制格式)
const macAddress = Buffer.from([0xe0, 0x73, 0xe7, 0xb8, 0x8c, 0x14]);
// 局域网的广播地址
const broadcastAddress = '192.168.31.21';
async function send(){
    const data = await getData();
    if(data===null)
        return
    let ip,className,mac;
    [className,ip,mac]= data
    for (let i=0;i<className.length;++i){
        console.log(className[i],ip[i],mac[i])
        // 发送唤醒包
        sendWOLPacket(macAddress , broadcastAddress );
    }
}

send()

友情链接

联系方式

地址:江苏省盐城市射阳县海通镇通海路3号

电话:0515-82314629 -- 0515-82314618

邮编:224300

Produced By CMS 网站群内容管理系统 publishdate:2025/03/05 11:26:52