Javascript Node.js-派生的exe不提供任何输出 我还在学习C++,刚刚开始使用节点,我在C++中创建了一个IRC客户端,用于在聊天中接收消息,我想通过使用生成的子进程的流STDUT从NoDE.js中获取这些。
但是,我没有收到来自exe的输出。 我唯一一次在Node.js脚本中收到来自exe的输出是在结束永久循环(irc_run)之后,但是我认为这不会有任何效果,因为它是异步生成的 exe在正常启动时工作正常,它显示发送的所有消息 使用的图书馆: 控制台应用程序1.cppJavascript Node.js-派生的exe不提供任何输出 我还在学习C++,刚刚开始使用节点,我在C++中创建了一个IRC客户端,用于在聊天中接收消息,我想通过使用生成的子进程的流STDUT从NoDE.js中获取这些。,javascript,c++,node.js,Javascript,C++,Node.js,但是,我没有收到来自exe的输出。 我唯一一次在Node.js脚本中收到来自exe的输出是在结束永久循环(irc_run)之后,但是我认为这不会有任何效果,因为它是异步生成的 exe在正常启动时工作正常,它显示发送的所有消息 使用的图书馆: 控制台应用程序1.cpp #include "stdafx.h" #include "libircclient.h" void event_numeric(irc_session_t *session, unsigned int event, cons
#include "stdafx.h"
#include "libircclient.h"
void event_numeric(irc_session_t *session, unsigned int event,
const char *origin, const char **params,
unsigned int count) {
return;
}
void event_connect(irc_session_t *session, const char *event,
const char *origin, const char **params,
unsigned int count) {
irc_cmd_join(session, "#username", 0);
}
void event_channel(irc_session_t *session, const char *event,
const char *origin, const char **params,
unsigned int count) {
printf("%s\n", params[1]);
irc_disconnect(session);
}
int main() {
printf("Connected and setup.\n");
irc_callbacks_t callbacks;
memset(&callbacks, 0, sizeof(callbacks));
callbacks.event_connect = event_connect;
callbacks.event_numeric = event_numeric;
callbacks.event_channel = event_channel;
irc_session_t *session = irc_create_session(&callbacks);
if (irc_connect(session, "irc.twitch.tv", 6667,
"password", "username",
"username", "username")) {
return 1;
}
if (irc_run(session)) {
}
return 0;
}
Debug.js:
var spawn = require('child_process').spawn;
var irc = spawn('C:/irc/ConsoleApplication1.exe');
irc.stdout.on('data', function(data) {
console.log(String(data));
});
irc.stderr.on('data', function(data) {
console.log(String(data));
});
irc.on('error', function(error) {
console.log(error);
});
那么,为什么不使用一个无数的IRC模块来完成NoDE.js,而只是放弃C++和子进程呢?在节点进程中你得到“连接和安装”消息,还是根本没有得到什么?这主要是为了学习目的,我知道我的方法不是最简单的方法。KyRISU我没有收到“连接和安装”消息,我根本没有收到任何东西。@莱纳斯,对于我来说,你的调试。JS使用C++ C++程序()来工作。你能运行我的代码并告诉我它是否按预期工作吗?我怀疑VisualStudio可能是某种原因造成的(我在Linux上,所以目前无法检查)。@kyrisu它确实按预期工作,该示例没有问题。