Tag: node.js nan

nodejs使用libuv插件asynchronouscallback

我有一个节点js服务调用本地C库。 本土的图书馆,反复不断地发生火灾事件。 这些事件被传递给Ccallback函数。 我的目标是从这个本地Ccallback调用Javascriptcallback。 根据我的阅读,我使用uv_async_init和uv_async_send来实现这个目标。 我遇到的问题是我的本地Ccallback函数被调用了很多次,并且在那里uv_async_send被调用了很多次,但是传递给uv_async_init的函数只被调用了一次,只有当我的程序退出的时候。 这是我的C代码: ================================================== === #include "jsaudio.h" #include <iostream> using namespace v8; static void recordAudioCallback(int index); void asyncmsg(uv_async_t* handle); Callback* cbPeriodic; uv_async_t async; uv_loop_t* loop; NAN_METHOD(createEngine) { std::cout << "==> createEngine\n" ; } void createAudioRecorder(const Nan::FunctionCallbackInfo<v8::Value>& info) { std::cout << "==> createAudioRecorder\n"; } void startRecording(const Nan::FunctionCallbackInfo<v8::Value>& info) { std::cout << "==> […]

调用一些callback函数会导致分段错误:Nan

我正在用nbind编写C ++插件- GitHub链接用于大多数事情,而Nan-GitHub链接用于调用asynchronouscallback。 当我只调用callback一次,它的作品完美。 但是,当我调用callback两次,它给Segmentation fault (core dumped) 。 使用gdb找不到错误。 这里是JS和C ++代码(使用node-gyp configure build编译): //main.js code var nbind = require('nbind'); var lib = nbind.init().lib; lib.HeaderExample.callJS(function(a) { console.log("result" + a); }); lib.HeaderExample.startThread(); lib.HeaderExample.startThread(); C ++插件的代码 //c++ code class CallbackRunner : public Nan::AsyncWorker { public: CallbackRunner(Nan::Callback *callback) : AsyncWorker(callback) {} void Execute () {} void HandleOKCallback () […]

有一些进展。发送电话不要到nodejs土地

我已经做了一个使用AsyncProgressWorker线程处理我的套接字消息的Node插件。 这是我的代码: class ProgressWorker : public AsyncProgressWorker { public: ProgressWorker( Callback *callback , Callback *progress) : AsyncProgressWorker(callback), progress(progress) {} ~ProgressWorker() {} void Execute (const AsyncProgressWorker::ExecutionProgress& progress) { char response[4096]; int result; int connected = 1; int timeout = 0; int pending = 0; while(connected) { result = sctp_recvmsg(sock, (void *)&response, (size_t)sizeof(response), NULL, 0, 0, 0); […]

这与ObjectWrap :: Unwrap的Holder相比

v8::FunctionCallbackInfo类区分This和Holder 。 我知道this是什么在JavaScript中,并假设This反映了这种设置。 但是我对Holder的含义只有一个模糊的概念,对于什么时候应该使用Holder而不是This ,我的想法很less。 特别是在编写一个基于nan的node.js扩展和ObjectWrap一个ObjectWrap ,我应该传递哪一个? 目前node::ObjectWrap文档有使用Holder例子,而目前的Nan::ObjectWrap文档使用This ,所以“只要按照文档中的例子”就Nan::ObjectWrap这个问题。