如何连接JavaScript和C#

3
我需要连接一个基于JavaScript/jQuery的本地执行网页,使用C#应用程序进行连接。最简单的方法可能是使用数据库(从JavaScript连接似乎存在问题)或TCP套接字。我尝试创建套接字,但出现了一些问题。但是,我能够创建运行node.js的服务器,向C#发送“hello world”,但我无法使用JavaScript连接到该服务器。我的特定用例是识别Leap Motion手势的网页。 C#部分将在Unity中运行,而Unity无法执行给定的JavaScript文件。因此,JavaScript和C#之间的通信不用于构建网站(这将是使用ASP.NET的主要原因,对吗?)。WCF听起来很有趣,但是否有一种方法可以从JavaScript连接它?我的“服务器”是使用socket.io创建的。
var net = require('net');

var server = net.createServer(function(socket){
    console.log("function called: " + socket.value);
    socket.write('hello\n');
    socket.end('world\n');
});
server.listen(8000);

我可以从C#应用程序连接到这个服务器,但我不知道如何从javascript发送消息。当尝试使用WebSocket连接时,我会收到以下错误:

WebSocket connection to 'ws://127.0.0.1:8000/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED

使用 io.connect 会导致以下结果:

net::ERR_NAME_NOT_RESOLVED

我该如何处理那些错误,以便从客户端 JavaScript 与 Web 应用程序通信?


2
TCP/UDP套接字或REST服务器或SOAP服务器 - matcheek
确实像matcheek所说的那样 - 但其他选项包括命名管道、0MQ和其他使TCP编写更容易的库,以及Kafka或其他持久性中间件。没有人会为你编写代码,但如果你发布你的示例,你可能会找到愿意帮助找出其中问题的人。 - akaphenom
请查看SignalR项目。http://asp.net/signalr - Steve
Websockets真的必要吗?否则Http请求也可以工作。 - Josh C.
所以最近几天我尝试了一些东西,并且成功地在C#中创建了一个基于SignalR的Web服务器,可以从JavaScript访问。但是似乎无法在Unity中运行。有没有人知道另一种将消息传递到Unity应用程序的方法? - user3479074
2个回答


0

ASP.Net 是你在寻找的东西。它是为c#和Web开发而建立的。 http://www.asp.net/mvc/overview

如果你需要双向连接,那么看看SignalR。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接