问题标签 [libuv]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
libuv - libuv 记录最佳实践?
我的程序中有一个 std::stringstream ,它会定期(使用计时器)刷新到日志文件中。刷新和计时器在默认运行循环上。
应用程序的其他部分只是附加到该 std::stringstream ,计时器负责其余部分。我确实限制了字符串流的大小(到 1mb),所以如果流是“满的”,我会丢弃消息。
我只是想知道,这是最佳实践吗?
- 表现?在主线程上可以处理这个 IO 吗?我能做得更好吗?
- 严重错误?问题可能出在我对 libuv 的使用中,这可能意味着基于 libuv 的日志记录会被破坏?
node.js 如何处理日志记录?
c++ - libuv 事件循环:准备句柄并检查句柄使用情况
在 libuv 事件循环中调用prepare handle callback
和的原因是什么?check handle callback
c++ - 关于 libuv 来源的一些问题?
最近看了libuv的源码。阅读QUEUE.h时有一些问题
首先: 宏定义如下:</p>
我可以将 QUEUE_PREV(q) 重新定义为:
他们之间有什么区别?
其次: 我尝试下面的代码:
结果在控制台上是一样的,但是为什么呢?“*”不起作用吗?我用VS2013编写了这段代码。
c++ - libuv + C++ 段错误
我正在用 libuv 为 C++ 中的流编写一个包装器,但它有段错误,我不知道为什么。流类:
以及实施
在主文件中,我这样做:
但是,一旦我运行它,它就会在uv_run
语句中出现段错误。回溯:
但是,如果我将 uv_run 放入Stream::Write
方法中,它就可以正常工作。我怎样才能解决这个问题?
编辑
我现在在堆上而不是在堆栈上分配管道,但它仍然给我一个段错误。我uv_pipe_t
将标题更改为uv_pipe_t*
,现在实现更改为:
来自 GDB 的回溯:
c - libuv simple echo client
I'm trying to develop a simple echo client using unix pipes for the following example code: https://github.com/nikhilm/uvbook/blob/master/code/pipe-echo-server/main.c
this is my client code:
But as soon as I run it, it segfaults. The server does give me a message that a process has connected. A backtrace from GDB:
node.js - 当没有新事件排队时,node.js 应用程序如何继续运行?
我的问题是 node.js 应用程序(例如 http 服务器)如何在没有新事件出现的情况下继续运行?
我认为当没有新事件排队时,libuv 事件循环会终止。
是否类似于为事件注册的事件侦听器的 while(true) {} 循环?
这是我的问题的一个简单代码示例:
谢谢
编辑:我们从libuv io 循环文档中知道,循环必须在每次循环迭代开始时处于活动状态,这意味着发生了更多事件,因此注册了更多回调以执行。
在此示例中,注册了一个事件侦听器,但在处理单个事件后程序退出,因为在下一次循环迭代之前没有触发更多事件。
但在这个例子中,由于活动定时器,程序无限期地继续。
那么在 http 服务器示例中,是什么让循环保持活动状态(活动和 ref'd 句柄)?
c++ - C/CPP 宏或预处理器来处理方法的多个版本
node
addon
在跨多个版本的节点编译时如何处理我的方法的多个版本。例如:uv_inet_pton
and uv_inet_pton
of node
version0.10*
不同于0.12.*
. 这些版本的返回类型不同。我可以通过定义宏或预处理器来处理这种情况吗?
libuv - 如何在多线程环境中使用 uv_accept?
我发现相同的两个参数(服务器和句柄)uv_accept
都是必需的uv_loop
。但我想在有自己的子线程中创建新的连接句柄uv_loop
。我应该怎么办?
c++ - Nodejs插件uv_queue_work分段错误
我正在尝试创建一个非常小的 nodejs 插件示例。我的 C++ 代码是这样的:
在 js 中,这是:
当我调用myModule.foo
函数时,进程以分段错误终止。
我试图添加uv_run(loop, UV_RUN_DEFAULT)
,但这会阻塞主线程。
我哪里做错了?谢谢
python - Feedparser - TypeError('a float is required',)
我正在使用guv
并feedparser
同时解析多个提要。以下是我的代码:
但是,我得到以下输出:
我在使用时遇到了类似的问题Eventlet
,但在本机 Python 3threading
库中没有。