![]() |
|
Модераторы: feodorv |
![]()
|
|
| Bonderas |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 15.3.2005 Репутация: нет Всего: нет |
Доброго времени суток!
Вот возникла передо мной задача - пробудить комп по сети - Wake up on lan тобишь... Вроде как и инфа есть в инете и всё, но вот сел писать и застопорился... До сего момента сетевые проги не писал, разве что чуть чуть использовал CORBA - посему тонкостей в этой области не знаю... Ну а теперь все по порядку: Значит вычитал я в просторах интернета, что для пробуждения компа нужно слать "магический пакет" (оговорюсь сразу, что все настройки в БИОСе и в настройках сетевушки выставлены - готовые программки будят на ура...), состоящий из 6 байт FF, а затем — собственно адрес сетевой платы, повторенный 16 раз. Решил не ходить окольными путми и установил на форму IdUDPClient для отсылки этой самой магии... Active=true, BroadcastEnable=true,BufferSize=8192, Host=255.255.255.255,Port=2050(установил наобум) MAC адрес подопытного - 00:10:dc:f1:49:3b Значит сам пакет должен быть следующим как я понимаю FFFFFFFFFFFF 0010dcf1493b0010dcf1493b0010dcf1493b0010dcf1493b 0010dcf1493b0010dcf1493b0010dcf1493b0010dcf1493b 0010dcf1493b0010dcf1493b0010dcf1493b0010dcf1493b 0010dcf1493b0010dcf1493b0010dcf1493b0010dcf1493b (единым сообщением ессестно) А теперь самое смешное - как все это послать? 8) Правельным ли будет следующее: int SendBuff [102]; for (int i = 0;i<6;i++) SendBuff[i] = 0xFF; for (int j=0;j<16;j++) { SendBuff[6+j*6] = 0x00; SendBuff[7+j*6] = 0x10; SendBuff[8+j*6] = 0xdc; SendBuff[9+j*6] = 0xf1; SendBuff[10+j*6] = 0x49; SendBuff[11+j*6] = 0x3b; } IdUDPClient1->SendBuffer(SendBuff,102); или нет? Всем ответившим заранее спасибо! |
|||
|
||||
| LuckLess |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 15.9.2004 Репутация: нет Всего: 1 |
С WOL ни когда не сталкивался , но бумаю проблема в том , что тебе надо послать магический пакет , т.е. IP пакет , в поле данных которого будет то что ты сказал , а не инкапсулированный UDP пакет , который шлешь ты...
код можно построить както так...
Это сообщение отредактировал(а) LuckLess - 15.3.2005, 23:48 |
|||
|
||||
| Bonderas |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 15.3.2005 Репутация: нет Всего: нет |
В этом случае пошлется строка - а нужно послать последовательность байт и к тому же сетевая карточка на выключенном компьютере врятли знает свой IP - потому нужно слать широковещательный пакет...
|
|||
|
||||
| LuckLess |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 15.9.2004 Репутация: нет Всего: 1 |
с широковещательным код будет выглядеть так..
Это сообщение отредактировал(а) LuckLess - 16.3.2005, 11:02 |
|||
|
||||
| Bonderas |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 15.3.2005 Репутация: нет Всего: нет |
Спасибо, попробую...
|
|||
|
||||
| Gulja |
|
|||
|
Unregistered |
нет, я не поняла, а где смайлик со словом ЛОХ?!!!
для меня. плиз дайте ктонить ссылочку по теме WOL ну хоть какуюнить маленькую что это и с чем едят |
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: нет Всего: 43 |
||||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Сети | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |