编程实现远程唤醒PC

为了唤醒网络上的计算机,必须发出一种特殊的数据包,该数据包的格式与普通数据包不同,而且还必须使用相应的专用软件才能产生。当前普遍采用的是AMD公司制作的Magic Packedt这套软件以生成网络唤醒所需要的特殊数据包,俗称魔术包(Magic Packet)。该数据包包含有连续6个字节的“FF”和连续重复16次的MAC地址。

Magic Packet格式虽然只是AMD公司开发推广的技术,并非世界公认的标准,但是仍然受到很多网卡制造商的支持,因此 许多具有网络唤醒功能的网卡都能与之兼容。

 

需要更多关于Magic Packet的信息的话,可以参考

http://www.amd.com/us-en/ConnectivitySolutions/TechnicalResources/0,,50_2334_2481,00.html

一个生成网络唤醒所需要的特殊数据包的示例代码可以在http://staff.aist.go.jp/d.g.fedorov/ether-wake.c 找到。

更多信息可以参考http://blog.mllm.org/index.php?q=node/59

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于VB的远程开机程序,好像远程关机的见到比较多,远程开机见的并不多,一台电脑要想实现网上远程开机,其主板和网卡必须都支持远程唤醒功能,然后还得进入BIOS设置COMS,至于如何设置,不同的主板设置方法也可能不一样,请参考有关资料 设置好COMS后就可以用本程序发送远程开机命令了,如果想要广域网远程开机,那么除了设置COMS外,还得对路由器进行一定的设置。   '新建一个工程,在Form1上添加三个Text控件,三个标签控件,一个命令按钮和一个Winsock1控件,然后复制下面的代码到Form1   Dim myMAC(0 To 5) As Byte '欲唤醒的主机的MAC地址   Private Sub StrToMAC(ByVal myStrMAC As String) '将MAC地址的字符串形式转化为十六进制数值保存在数组myMAC里   Winsock1.SendData MagicPacket '发送魔术包(不管是在局域网还是在广域网,只要一台电脑检测到对应MAC的魔术包就会自动唤醒)   Winsock1.Protocol = sckUDPProtocol'使用UDP协议   Text1.Text = "010203ABCDEF" '欲唤醒的电脑的MAC地址,MAC地址的格式要求这样填(数值之间没有其它字符)   Text2.Text = "225.225.225.255" '广播地址(因为远程电脑已关机,没有IP地址,所以只能以广播形式找到要打开的电脑,广域网的话填路由器的IP)   Text3.Text = "0" '端口号,在局域网里的话就为0吧,广域网的话就看你的路由器开放哪个端口了!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值