C#应用程序可以与Node.js代码进行通信吗?

我有一个C#应用程序和一个Node.js应用程序。我想在C#应用程序中按一个按钮,以将三个参数发送到Node.js应用程序/函数作为输入。这可能吗?

两个应用程序在同一台计算机上运行。C#应用程序将为Node.js应用程序提供三个参数。Node.js应用程序将查询Web服务(POST),接收一些XML数据并处理该数据。我知道我也可以在C#中完成该任务,但是在这种情况下,它必须是Node.js。

:现在我选择了:4. Your node process runs a socket server and your C#

app does requests over tcp

我还将提供一个可行的解决方案:

  • Node.js部分:http://www.hacksparrow.com/tcp-socket-programming-in-node-js.html
  • C#部分:http://www.codeproject.com/Articles/1415/Introduction-to-TCP-client-server-in-C

现在,您可以将所有数据从C#应用程序发送到Node.js服务器。

回答:

是的,就像几个人在您的问题的评论中指出的那样,交流是可能的。

这些是(部分)选项:

  1. 您的节点进程运行一个http服务器,而您的C#应用​​程序通过http执行JSON Rest请求
  2. 您的节点进程使用node-soap / span-soap模块运行SOAP Web服务
  3. C#应用程序启动您的节点应用程序,然后通过写入节点进程输入流并读取其输出流来进行IPC。
  4. 您的节点进程运行套接字服务器,而您的C#应用​​程序通过tcp进行请求。
  5. 您使用第3个进程/服务器,例如Redis或消息队列
  6. 允许您共享数据(如文件)的任何内容。

我建议您选择第一个选项,因为它不需要定义语言协议即可通过“线路”发送。另一个原因是,有很多关于使用C#和node.js进行Rest的文档。

作为C#中的客户端库,如果您不能使用最新版本的.NET(4.5),建议您将Restsharp用作客户端库。如果可以使用最新版本,请使用HttpClient调用Node.js

restservice。对于Node,只需使用Express。

选项2可能很快,因为VS中对Web服务有很好的支持,但是,我仅将Node-Soap用作客户端,因此无法评论Node-Soap

Web服务在C#客户端中的表现如何。

以上是 C#应用程序可以与Node.js代码进行通信吗? 的全部内容, 来源链接: utcz.com/qa/419269.html

回到顶部