FAQ Степан Ильин aka Step Хакер, номер #080, стр. 080-138-2 A: ARP (Address Resolution Protocol) — протокол поиска адреса. Известно, что в сетях нет однозначного соответствия между физическим адресом интерфейса (MAC-адрес) и его IP-адресом. Зато такое соответствие может быть установлено с помощью протокола ARP. Объясняю подробно. Информация по локальной сети передается в сетевых пакетах, причем в каждом из них указываются адреса отправителя и получателя. Но используются не IP-адреса, как ты мог подумать, а физические MAC-адреса сетевых устройств. Получается, что для оправки пакета на машину с адресом 192.168.0.10, компьютеру сначала придется выяснить MAC-адрес удаленного узла и только после этого формировать и отправлять пакет в сеть. Для упрощения этого процесса каждый компьютер обладает так называемым ARP-кэшем, в котором хранятся соответствия IP-MAC. Если компьютер уже обращался к удаленному узлу, то его MAC-адрес должен быть в кэше и может быть успешно использован. В противном случае по сети проходит широковещательный ARP-запрос «Кто знает MAC-адрес такого IP-адреса». На такие запросы обычно отвечает сам владелец IP-адреса, отправляя свои MAC- и IP-адреса. Те помещаются в ARP-кэш отправителя и используются для дальнейшей работы. Q: Я занимаюсь PR’ом и раскруткой сайтов: дело довольно прибыльное, но и работать приходится немало. Можно ли в Firefox настроить проверку орфографии? Я часто прямо в браузере пишу рекламные слоганы и небольшие тексты — надоело проверять их в Word’е и copy-paste’ить обратно :). A: Firefox — это расширяемый браузер, так что найти и подключить к нему можно все, что угодно :). Наиболее успешным проектом для автоматической проверки орфографии считается SpellBound (оффсайт — spellbound.sourceforge.net). Помимо этого нужно скачать и установить в программу русские словари — http://backup.mozilla.ru/soft/ru-us_dict.xpi, http://downloads.mozdev.org/dictionaries/spell-ru.xpi. Q: Стукнуло мне в голову написать собственный файловый менеджер, реализовать все свои задумки. Однако столкнулся с одной, казалось бы, пустяшной проблемой. Не могу понять, как можно нормально отобразить процесс копирования файла, т.е. сделать так, чтобы ProgressBar (бегущая полоска с процентами) заполнялась в соответствии с процентом выполнения операции. Использую API-функцию FileCopy и что-то ничего не получается. Еще и тормозит почему-то… A: Знакомая проблема. Действительно если копировать файл с помощью API-функции FileCopy, то программа на время копирования файла попросту подвисает. Такая фигня происходит из-за того, что приложение получает обратно управление только по завершению работы вызванной функции. Чем больше размер файла — тем больше длится операция и, соответственно, дольше программа «висит». Как понимаешь, при таком раскладе о визуализации процесса копирования придется забыть. Так что функция FileCopy — это явно не самый лучший вариант. Скопировать файл можно и без использования API. Алгоритм немудрен. Открываешь два файла (один для чтения, другой для записи), после чего в цикле по кусочкам начинаем копировать инфу из одного файла в другой. Т.е. читаем блок из первого файла, пишем его во второй, смотрим на состояние счетчика и вычисляем процент скопированных данных — после этого заново повторяем последовательность операций. Скорость копирования напрямую будет зависеть от того самого размера блока, который был выбран. |