Tag: v8

如何发送HTTP请求到v8debugging器?

V8 JavaScript引擎实现这个debugging器协议。 我启动V8(node.js),我可以通过浏览器连接到打开的端口(5858)。 什么是需要发送到V8debugging器的请求格式? 是GET还是POST? 提到的页面所说的唯一的事情是:“每个数据包都以string值的forms传输” 请给我一个示例请求:curl,node.js或者浏览器。

parsingstring参数数组

我想parsing/转换从一个参数的string数组到一个std :: vector在我的c + +插件。 这是我的代码: Handle<Array> array = Handle<Array>::Cast(args[4]); for (uint32_t i = 0; i < array->Length(); i++) { Local<Object> obj = array->CloneElementAt(i); } 但是,无论我做我的对象(转换为string,ToString(),…),我执行coredump。 我错过了什么明显的? 谢谢阅读。 解答: Handle<Array> array = Handle<Array>::Cast(args[4]); for (uint32_t i = 0; i < array->Length(); i++) { Local<Value> obj = array->Get(Integer::New(i)); }

如何绑定nodejs与我的应用程序?

我有一个使用Chromiumembedded式框架 (CEF)的项目。 我只在我的项目中使用chromium_dll_wrapper_project。 我使用它绑定了某些JavaScript函数。 我正在尝试实现文件系统。 由于nodejs是在V8上构build的这样好的I / O框架,与CEF背后的引擎相同,我可以以某种方式将nodejs与我的应用程序绑定,这样我就可以使用我的应用程序而不是运行node.exe来访问nodejsasynchronous文件系统模块。 我想要的是,当我处理任何JavaScript,如果它有nodejs的代码,它会运行? 我应该采取什么方法来做到这一点?

如何在本机C ++ / nodejs插件实现asynchronous构造函数/工厂调用?

我对C ++和node / v8 Addon开发相当陌生。 我试图包装第三方C库。 一些初始化函数运行时间很长,我想运行这些asynchronous操作(在libuv的帮助下)。 鉴于我有以下代码: #define BUILDING_NODE_EXTENSION #include <node.h> #include "myobject.h" //header files of 3rd party lib to be wrapped #include "3rdparty.h" using namespace v8; MyObject::MyObject(void* base) : baseobject_(base) {}; MyObject::~MyObject() {}; void MyObject::Init(Handle<Object> target) { // Prepare constructor template Local<FunctionTemplate> tpl = FunctionTemplate::New(New); tpl->SetClassName(String::NewSymbol("MyObject")); tpl->InstanceTemplate()->SetInternalFieldCount(1); Persistent<Function> constructor = Persistent<Function>::New(tpl->GetFunction()); target->Set(String::NewSymbol("MyObject"), constructor); […]

asynchronous构buildV8string数组

我正在构build一个节点模块来与libapt进行交互,以便列出和控制已安装的软件包。 我通过实现一个函数来获取每个已安装软件包的名称,从而开始简单。 我已经撞墙了。 我目前有这样的代码: #include <apt-pkg/init.h> #include <apt-pkg/cachefile.h> #include <apt-pkg/pkgcache.h> #include <node.h> #include <v8.h> using namespace v8; typedef struct AsyncData { Persistent<Function> callback; // callback function Handle<Array> packageList; // array of package names } AsyncData; void AsyncWork(uv_work_t *req) { AsyncData *asyncData = (AsyncData *)req->data; asyncData->packageList = Array::New(); size_t i = 0; for (pkgCache::PkgIterator package = […]

更改默认堆栈大小Node.js

如何更改节点中的默认stack_size ? 我已经尝试运行命令node –stack_size=32000和ulimit -s 32000 。

C ++级别的nodeJS模块加载

我正在开发一个NodeJS模块,其文件大小正在急剧增加,但是我意识到我可以将模块分成两个独立的模块。 发生这种情况时,我的第二个模块中只有几个函数需要使用我的第一个模块的内部C ++类。 有没有可能只是通过第一个模块的原型到第二个? 例: 模块A :有一个名为cModuleA的类: class cModuleA { //declarations data* pointer; } 模块B :有大约100个函数,但是只有其中一个需要操作data*指针。 它也需要返回cModuleA对象(因此它需要一个cModuleA的原型或者知道cModuleA实现) 我试图从第一个模块(窗口中的dllimport/dllexport )导出符号,但我只是想知道是否有更好的select注入在C ++级别的依赖关系。

Node.js,SQLite3和Express – POST上潜在的内存泄漏

我对node.js比较陌生,而且我的任务是编写一个简单的消息队列应用程序 – 基本上,应用程序将收到一个post,其中包含一些消息数据和客户端的mac地址,然后将其解码并插入到sqlite数据库,稍后由一个单独的进程发布。 一切工作正常,但我们正在经历什么可能是内存泄漏。 使用memwatch模块,我已经把漏洞缩小到我们的代码处理传入的post,我已经包括在下面: app.route('*') .post(function(req, res){ var mac = decodeURI(unescape(req.param('mac').replace(/\+/g, "%20"))); var data = decodeURI(unescape(req.param('data').replace(/\+/g, "%20"))); req = null; db.run("INSERT INTO queue (mac, data) VALUES (?,?)", [mac, data], function(er){ if(er) { res.writeHead(500, "Insert to queue failed", {'Content-Type': 'text/html'}); res.end(); } else { res.writeHead(200, "OK", {'Content-Type': 'text/html'}); res.end(); } res = null; mac = […]

无法在Node.js中创build〜1.2GB的Uint8Array

以下JavaScript代码: new Uint8Array(1253377279) 当运行node.js结果是: RangeError: length > kMaxLength at repl:1:2 at REPLServer.self.eval (repl.js:110:21) at Interface.<anonymous> (repl.js:239:12) at Interface.emit (events.js:95:17) at Interface._onLine (readline.js:202:10) at Interface._line (readline.js:531:8) at Interface._ttyWrite (readline.js:760:14) at ReadStream.onkeypress (readline.js:99:10) at ReadStream.emit (events.js:98:17) at emitKey (readline.js:1095:12) 奇怪的是,考虑到我有8GB的内存,足以填满arrays几次。 我试过了: – –max-old-space-size=1900没有成功。 我能做什么?

Node.jsnetworking套接字内存泄漏?

我有这个脚本 。 var net = require("net") , heapdump = require("heapdump"); function onConnection (client) { client.on("data", function (data) { client.end(); }); }; function onListen () { var socket = net.connect({host: "127.0.0.1", port: 3000}); socket.bigBuffer = new Buffer(50000000); //50MB Buffer heapdump.writeSnapshot(__dirname + "/initial.heapsnapshot", function writeInitialSnapshot () { console.log("Wrote initial heap snapshot"); socket.write("data"); }); socket.on("close", function () { […]