Настройка сети гостя хоста Virtualbox [закрывается]

Вы хотите использовать массив process.argv для доступа к аргументам командной строки, чтобы получить имя файла и модуль FileSystem (fs) , чтобы прочитать файл. Например:

// Make sure we got a filename on the command line.
if (process.argv.length < 3) {
  console.log('Usage: node ' + process.argv[1] + ' FILENAME');
  process.exit(1);
}
// Read the file and print its contents.
var fs = require('fs')
  , filename = process.argv[2];
fs.readFile(filename, 'utf8', function(err, data) {
  if (err) throw err;
  console.log('OK: ' + filename);
  console.log(data)
});

Чтобы немного сломать это для вас, process.argv обычно имеет длину два, нулевой элемент - интерпретатор «узла», а первый - это скрипт, который в данный момент запущен , элементы после этого были переданы в командной строке. После того, как вы вытащили имя файла из argv, вы можете использовать функции файловой системы для чтения файла и делать все, что хотите, с его содержимым. Пример использования будет выглядеть так:

$ node ./cat.js file.txt
OK: file.txt
This is file.txt!

[Edit] Как упоминает @wtfcoder, использование метода «fs.readFile()» может быть не лучшей идеей, поскольку оно будет буферизовать все содержимое файла до приведя его к функции обратного вызова. Эта буферизация может потенциально использовать большую часть памяти, но, что более важно, она не использует одну из основных функций node.js - асинхронный, вызываемый ввод / вывод.

Способ «узла» для обработки большой файл (или любой файл, действительно) должен был бы использовать fs.read() и обрабатывать каждый доступный кусок, поскольку он доступен из операционной системы. Однако чтение файла как такового требует от вас собственного (возможно) инкрементного разбора / обработки файла, и некоторый объем буферизации может быть неизбежным.

40
задан Caleb Thompson 12 April 2011 в 08:51
поделиться

4 ответа

Я не выполняю перспективу, но virtualbox должен сделать большую часть установки для Вас - все, что необходимо сделать, присваивают IP-адрес, маску подсети, и (дополнительно) шлюз по умолчанию гостю ОС, и это должно просто работать.

не беспокоятся ни одним из расширенных параметров сети в опциях для VM - они полезны в некоторых ситуациях, но я никогда не должен был использовать их, и я использовал virtualbox в течение нескольких лет теперь.

при регистрации определенной проблемы Вы имеете, возможно, я могу помочь больше. Но Ваш вопрос довольно неопределенен...

-2
ответ дан Thomi 27 November 2019 в 01:43
поделиться

Вы можете сделать это на хосте Linux. Я описал шаги, которые я предпринял в Ubuntu 9.04 здесь .

4
ответ дан 27 November 2019 в 01:43
поделиться

Необходимо установить объект краски на FILL

Paint paint = new Paint();
paint.setStyle(Paint.Style.FILL);

Затем можно нарисовать все, что хотите, и он будет заполнен.

canvas.drawCircle(20, 20, 15, paint);
canvas.drawRectangle(60, 20, 15, paint);

и т.д.

Для создания более сложных фигур необходимо использовать объект PATH .

-121--1045887-

Еще одно не очень хорошее решение :

Можно поместить файлы конфигурации в различные «необязательные группы» и загрузить определенную конфигурацию вручную с помощью StartDeployment.DownloadFileGroup . Но, что касается меня, это не идеальное решение.

-121--4028839-

Предоставьте гостю два сетевых адаптера, один NAT и другой - только хост. NAT-1 позволяет гостю видеть Интернет, а хост-компьютер - только гостя.

Один из них также позволяет гостю увидеть хост. Я не знаю, что, но я знаю, что это работает с тех пор, как я протестировал веб-сервер. Вы просто должны выбрать правильный IP-адрес, 10.x.x.x или 192.168.x.x.

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

45
ответ дан 27 November 2019 в 01:43
поделиться
-

У меня есть ответ получше, чем первый.

Дайте гостю один сетевой адаптер только для хоста, и включите на хосте функцию Internet Connection Sharing (ICS). Я пробовал это на хосте Windows XP с гостем Windows XP.

Гость может подключиться к Интернету.

Гость может подключаться к хосту по адресу 192.168.0.1 (выбранному ICS). -- Не забудьте разрешить гостю проходить через брандмауэр узла.

Узел может подключаться к гостю по адресу 192.168.0.22 (назначенному службой DHCP, предоставляемой ICS).

17
ответ дан 27 November 2019 в 01:43
поделиться
Другие вопросы по тегам:

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