Общая папка Meteor не работает

mmap имеет преимущество, когда у вас есть случайный доступ к большим файлам. Другим преимуществом является то, что вы обращаетесь к нему с операциями памяти (memcpy, арифметикой указателей), не беспокоясь о буферизации. Обычный ввод-вывод иногда может быть довольно сложным при использовании буферов, когда у вас есть структуры, большие, чем ваш буфер. Код для обработки, который часто трудно получить, mmap обычно проще. Это говорит о том, что при работе с mmap есть определенные ловушки. Как уже упоминалось, mmap достаточно дорогостоящим, поэтому стоит использовать только для заданного размера (от машины к машине).

Для чистого последовательного доступа к файлу это также не всегда лучшее решение, хотя соответствующий вызов madvise может уменьшить проблему.

Вы должны быть осторожны с ограничения на выравнивание вашей архитектуры (SPARC, itanium), с IO для чтения / записи, буферы часто правильно выравниваются и не ловутся при разыменовании литого указателя.

Вы также должны быть осторожны, чтобы не получить доступ вне карты. Это легко осуществить, если вы используете строковые функции на своей карте, и ваш файл не содержит \ 0 в конце. Он будет работать большую часть времени, когда размер вашего файла не будет кратным размеру страницы, так как последняя страница заполнена 0 (отображаемая область всегда имеет размер кратного размера вашей страницы).

24
задан deeo 20 July 2012 в 18:28
поделиться

1 ответ

Настройка, которую вы описали, звучит правильно для меня. Медиа в public/ обслуживаются как

http://localhost:3000/myphoto.jpg

В примере todos используются изображения из общедоступного каталога. Просто вернитесь из любого проекта, в котором вы находитесь, и запустите: meteor create --example todos, затем перейдите в todos / и запустите meteor. Затем откройте:

http://localhost:3000/destroy.png 

Изображение, которое вы увидите, живет в public/.

19
ответ дан 14 revs, 2 users 88% 20 July 2012 в 18:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: