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

在Node.js /服务器端javascript中使用.NET DLL

叶炜
2023-03-14
问题内容

我有一个宠物项目,它是一个在线游戏,整个游戏引擎都是用C#编写的,我想知道是否仍然可以从使用Node.JS构建的解决方案中调用此现有程序集(.dll)的功能。
,Socket.IO,Express等?

游戏引擎本身非常完整。经过测试且功能强大。我希望有一些简洁的方法来公开其功能,而又不会增加太多开销。

更新

稍微回答一下我自己的问题。.我已经结束了构建自己的Web套接字服务器(基于最新的Web套接字协议文档)。它使用C#编写,并使用Mono进行编译,因此可以将其托管在运行Mono的Linux机器上,因此(稍作调整)我可以使用现有的游戏引擎。

更新2 现在存在一个完全符合我最初想要的项目的项目-http:
//tjanczuk.github.io/edge/#/

UPDATE 3 Edge.js通过新的 edge-js 包支持节点的最新版本和.net核心。

对Node.Js 6.x,7.x,8.x,9.x,10.x,11.x的支持Windows / Linux / macOS上对.NET Core
1.0.1-2.x的支持。支持Mono运行时4.8.x-5.x。

可以从https://www.npmjs.com/package/edge-js安装


问题答案:

如果您只想启动轻量级的HTTP服务器,同时仍使用C#和.Net进行编程,则应该给Kayak一个机会。它是用于C#的轻量级HTTP服务器,在这种意义上,其行为类似于node.js。

皮艇http

更新:

如果您正在寻找一个轻量级的HTTP Server来处理Web请求,那么今天您可以选择以下几种选择:

  • ServiceStack(推荐)
  • Microsoft WebAPI
  • 南希

据我所知,以上所有内容都在某些版本的Mono上运行,因此您仍然可以在基于Windows和Unix的系统上托管它们。



 类似资料:
  • 问题内容: 知道如何防止对node.js应用程序进行XSS攻击吗?在那里处理删除href,onclick属性等中的javascript的任何库。从发布的数据? 我不想为所有这些写正则表达式:) 有什么建议? 问题答案: 建议从GoogleCaja借用JS中基于白名单的JS中的HTML清理器,据我快速浏览可知,该实现器不依赖HTML来实现HTML SAX解析器。浏览器的DOM。 更新: 另外,请记住

  • 问题内容: 收到以下错误: TypeError:Object.values不是函数。 从这个对计算器的问题-我看是不是在所有的浏览器都支持。 但是我在服务器端的Node.js中使用该功能-如何在Node.js中使用它看起来如此直观? 问题答案: 是ES2017中的新功能。这是非常出血的边缘。从7.0版开始,Node.js完全支持它。 6.8.1支持它,但是它被认为是不稳定的并且被锁定在标志后面。

  • 问题内容: 我正在尝试按照本教程将d3.js SVG Vis转换为PNG服务器端(使用Node.js)http://eng.wealthfront.com/2011/12/converting- dynamic-svg-to- png-with.html 链接到完整代码: https : //gist.github.com/1509145 但是,每当尝试请求加载页面时,我都会不断收到此 错误 有人

  • 问题内容: 我是Node.js的新手,但是通过使用它我对套接字流Web框架有了一些了解,我可以轻松地从JavaScript调用服务器端的node.js方法。不使用该框架,我不知道该怎么做。如何从JavaScript调用node.js方法? 以下代码使用套接字流调用服务器端方法。因此,我想在不使用此框架的情况下调用相同的服务器端方法。 问题答案: 我建议使用Socket.IO 服务器端代码 和客户端

  • 问题内容: 我正在使用google map version3 api的google map应用程序,特别是google.maps.geometry.encoding中的实用程序方法,例如decodePath,encodePath,computeDistanceBetween,interpolate,以便计算位置 在Web应用程序的第一个版本中,大多数应用程序逻辑都在Web浏览器中,现在我想将一些逻

  • 问题内容: 我正在尝试通过SSL连接使用socket.io设置服务器到服务器的链接。这是我的例子: 在没有SSL的情况下运行时,代码工作正常。我怀疑这可能是我的自签名证书未被接受,但是我不知道如何使客户接受它。 请告诉我如何:1.接受自签名SSL证书。或2.以其他方式帮助我完成这项工作。 提前致谢。 问题答案: 经过更多搜索后,将其添加到客户端中使其可以工作: require(’https’)。g