![]() |
![]() ![]() ![]() ![]() |
|
Реализация Wake для сети – Волшебный ПакетDelphi , Интернет и Сети , СетьРеализация Wake для сети – Волшебный Пакет
Оформил: DeeCo
{
What's a Magic Packet?
Was ist ein Magic Packet?
DESTINATION SOURCE MISC. FF FF FF FF FF FF 11 22 33 44 55 66 11 22 33 44
55 66 11 22 33 44 55 66 11 22 33 44 55 66 11 22 33 44 55 66 11 22 33 44
55 66 11 22 33 44 55 66 11 22 33 44 55 66 11 22 33 44 55 66 11 22 33 44
55 66 11 22 33 44 55 66 11 22 33 44 55 66 11 22 33 44 55 66 11 22 33 44
55 66 11 22 33 44 55 66 11 22 33 44 55 66 MISC. CRC.
Note: Destination, Source, Misc and CRC are normally added by our Socket-Component
Beachte: Destination, Source, Mis und CRC werden normalerweise von deiner
Socket-Komponente hinzugefugt
}
procedure TForm1.Button1Click(Sender: TObject);
var
Data, temp: string;
k, n: integer;
begin
Data := '';
for k := 0 to 5 do
begin
Data := Data + Chr(StrToInt('$FF')); // 6x add a FF / 6x ein FF hinzufugen
end;
temp := StringReplace(Edit1.Text, '-', '', [rfReplaceAll]);
for k := 0 to 15 do
begin
temp := StringReplace(Edit1.Text, '-', '', [rfReplaceAll]);
for n := 0 to 5 do
begin
// 16x add Target-Mac-Adress / 16x die Ziel-Macadresse hinzufugen
Data := Data + Chr(StrToInt('$' + temp[1] + temp[2]));
Delete(temp, 1, 2);
end;
end;
//Example with TIdUDPClient of Indy
//IdUDPClient1.Send('255.255.255.255', '80', Data); // Send it / Verschick es
end;
Что такое Magic Packet? Magic Packet - это специальный пакет UDP, отправляемый для пробуждения компьютера на сети. Он состоит из адреса MAC-адреса назначения, за которым следуют 6 байт FF (все единицы), а затем повторяется адрес MAC-адреса цели несколько раз. Объяснение кода Код написан на Delphi и использует библиотеку Indy для сетевого программирования.
Примечание Комментарий гласит, что обычно адрес MAC-адреса назначения, адрес MAC-адреса источника и CRC (Циклическая Красная Проверка) добавляются компонентом сокета. Однако в этом реализации эти значения не включены в сгенерированный Magic Packet. Альтернативное решение Если вы хотите генерировать Magic Packet более эффективно, можно использовать одиночный цикл для итерации по каждому байту адреса MAC-адреса цели и добавления его к строке Код предполагает, что В статье описывается реализация Wake-функции для сети, которая использует магический пакет (Magic Packet) для обнаружения и включения компьютеров в локальной сети. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||