【发布时间】:2018-04-24 04:47:11
【问题描述】:
我正在处理 .net (v4.5.2) 和 Javascript node.js (v8.9.0) 应用程序之间的进程间通信。我想为此使用 Windows 命名管道(并且只使用命名管道)。对于 Javascript 应用程序,我使用的是命名管道包 (v0.0.1) 我能够在两个应用程序之间建立连接,这告诉我我并没有完全离开这里。每当我将字符串写入 NamedPipeServerStream 但未收到数据时,我希望看到在 JavaScript 应用程序中触发数据事件。我无法接收任何数据。这是 .net 和 JavaScript 应用程序的代码。任何想法为什么没有触发数据事件?
.Net 代码
using System;
using System.IO;
using System.IO.Pipes;
namespace NamedPipes
{
class Program
{
static void Main(string[] args)
{
var server = new NamedPipeServerStream("XYZNamedPipe");
Console.WriteLine("Waiting for Connection");
server.WaitForConnection();
Console.WriteLine("Connection Established");
StreamWriter writer = new StreamWriter(server);
int cnt = 0;
while (true)
{
string line = Console.ReadLine();
writer.WriteLine(++cnt.ToString() + ": " + line);
}
}
}
}
JavaScript 代码
var NamedPipes = require("named-pipes");
pipe = NamedPipes.connect('XYZNamedPipe')
pipe.on('connect', (str) => {
console.log('connection established');
});
pipe.on('data', (str) => {
console.log('data received');
console.log(str);
});
pipe.on('end', (str) => {
console.log('end');
});
【问题讨论】:
标签: .net node.js ipc named-pipes