当前位置: 首页 > 面试题库 >

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

周阳成
2023-03-14
问题内容

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

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

编辑#2和解决方案 :现在我选择了: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 / strong-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#客户端中的表现如何。



 类似资料:
  • 问题内容: 我想将node js用作react native项目中的后端。 问题答案: 是的,您 可以 通过正确使用Big Rich的ReactNativify 来 使用为Node编写的包。但是要考虑一些事项: 1)我遵循在问题清单中找到的建议,并分为两部分: Transformers.js(在和中调用): babel-transformer.js(也在): 2)如您在上面的代码中所见,我还演示了

  • 问题内容: 我有一个使用Http(不是套接字)与servlet通信的applet。当前,小程序的每个实例(即,当每个小程序由不同计算机上的不同客户端运行时),所有实例均与同一servlet通信。我想要的是applet的每个实例与 同一servlet的 不同实例通信。这可能吗? 问题答案: 您不想在webapp的生存期内拥有同一servlet的不同 实例 。通常的做法是使用来区分客户端。您需要将as

  • 本文向大家介绍Vue与Node.js通过socket.io通信的示例代码,包括了Vue与Node.js通过socket.io通信的示例代码的使用技巧和注意事项,需要的朋友参考一下 一、Node中socket.io基础 1、是什么 Socket.IO类库,是在服务器和浏览器之间提供一个共享接口,其可以用于实现以下几种通信方式: HTML5中的WebSocket通信 Flash中使用的WebSocke

  • 问题内容: 我需要能够运行外部应用程序并与之交互,就像从命令行手动运行它一样。我发现的所有示例仅涉及运行程序和捕获输出。 下面是一个非常简单的示例,希望该示例说明我要完成的工作。 我试图调整各种示例,发现这些示例以零成功实现了这一目标。看起来,即使“ rm”正在等待响应,Go仍会关闭该过程。 您可以提供的任何示例,文章或建议,将不胜感激。提前谢谢了。 问题答案: 您有两种可能性。首先是使用Read

  • 问题内容: 在Windows上,我们有一个C ++应用程序来启动Java进程。这两个应用程序需要彼此通信(通过xml片段)。 您将选择哪种进程间通信方法,为什么? 我们桌上的方法是:共享文件,管道和套接字(尽管我认为这有一些安全问题)。我愿意接受其他方法。 问题答案: 我不确定为什么您认为基于套接字的通信会带来安全隐患(使用SSL)。假设您具有明确定义的通信协议,这通常是一种非常好的方法,因为它与

  • 问题内容: 我是程序世界中的每个新手,我遇到一个问题,我的要求与使用JAVA Code在Android平板电脑与台式机之间的通信有关。 上面的代码是我的servlet代码,它在我的本地系统服务器(Tomcat 6.0)中运行,在这里,我正在通过println发送消息,并且我想在另一个系统中运行的Android应用中显示相同的消息。现在,我要发布在另一个系统上运行的android代码。 这里的192