0
IoTを使ってWOL(WakeOnLan)を送信する方法を理解できません。WOL(UDP)はどのように送信できますか?
私はDatagramSocketとする必要がありますが、私がオンラインで見つけることができるすべてのサンプルは、UDPClientを使用します。
IoTでWOL(UDP)を送信するにはどうすればよいですか?
ありがとうございました。
IoTを使ってWOL(WakeOnLan)を送信する方法を理解できません。WOL(UDP)はどのように送信できますか?
私はDatagramSocketとする必要がありますが、私がオンラインで見つけることができるすべてのサンプルは、UDPClientを使用します。
IoTでWOL(UDP)を送信するにはどうすればよいですか?
ありがとうございました。
WinRTアプリケーションでマジックパケットを送信するには、実際にはWindows.Networking.Sockets APIのDatagramSocketを使用する必要があります。 これは私がしばらく前に書いた基本的な解決策です:
public async void SendMagicPacket(string macAddress, string ipAddress, string port)
{
DatagramSocket socket = new DatagramSocket();
await socket.ConnectAsync(new HostName(ipAddress), port);
DataWriter writer = new DataWriter(socket.OutputStream);
byte[] datagram = new byte[102];
for (int i = 0; i <= 5; i++)
{
datagram[i] = 0xff;
}
string[] macDigits = null;
if (macAddress.Contains("-"))
{
macDigits = macAddress.Split('-');
}
else if (macAddress.Contains(":"))
{
macDigits = macAddress.Split(':');
}
if (macDigits.Length != 6)
{
throw new ArgumentException("Incorrect MAC address");
}
int start = 6;
for (int i = 0; i < 16; i++)
{
for (int x = 0; x < 6; x++)
{
datagram[start + i * 6 + x] = (byte)Convert.ToInt32(macDigits[x], 16);
}
}
writer.WriteBytes(datagram);
await writer.StoreAsync();
socket.Dispose();
}