Хотелось бы запустить его в браузере, чтобы я мог принимать данные, полученные от отображения сервера в браузере.
Мне кажется, вам нужен модуль http.
var http=require('http');
var server=http.Server(function(req,res) {
res.end('<p>hello world</p><script>alert("hello world")</script>');
});
server.listen(8080);
, чтобы вы могли получать данные со стороны браузера, набрав URL-адрес «localhost: 8080»
Можно использовать mkstemp(3)
функция с этой целью. Другая альтернатива tmpfile(3)
функция. Какой из них, которых Вы выбираете, зависит от того, хотите ли Вы, чтобы файл был открыт как поток файла библиотеки C (который tmpfile
делает), или дескриптор файла прямого доступа (mkstemp
). tmpfile
функция также удаляет файл автоматически при программировании концов.
Преимущество использования этих функций состоит в том, что они избегают условий состязания между определением уникального имени файла и созданием файла - так, чтобы две программы не пытались создать тот же файл одновременно, например.
См. страницы справочника для обеих функций для получения дополнительной информации.
Вопрос состоит в том, как генерировать временное имя файла. Ни mkstemp, ни tmpfile не предоставляют вызывающей стороне имя, они возвращают дескриптор файла или дескриптор файла, соответственно.
@garethm:
Я полагаю, что функция, которую Вы ищете, вызвана tmpnam.
Вы не должны определенно использовать tmpnam
. Это страдает от проблемы состояния состязания, которую я упомянул в своем ответе: Между определением имени и открытием его, другая программа может создать файл или символьную ссылку на него, которая является огромной дырой в системе безопасности.
tmpnam
в странице справочника конкретно говорится, чтобы не использовать его, но использовать mkstemp
или tmpfile
вместо этого.
Абсолютно: человек mkstemp.
Страница справочника имеет использование в качестве примера.
Не уверенный в чем-либо в lib C, но можно сделать это в оболочке с mktemp.