在Unity进程和另一个C#进程之间进行本地IPC的最快方法

las*_*dev 5 c# ipc unity-game-engine

我想每秒从C#应用程序向我的Unity应用程序提供大约30次的大量数据.由于Unity不支持映射内存和管道,我想到了一个tcp套接字.如果通信仅在一台机器的范围内,这会足够快吗?

Mic*_*kyD 5

Unity3D也支持c ++.

本机插件是特定于平台的本机代码库.他们可以访问操作系统调用和第三方代码库等功能,否则Unity将无法使用这些功能.但是,Unity管理库无法以管理库的方式访问这些库.例如,如果您忘记将托管插件文件添加到项目中,您将获得标准编译器错误消息.如果对本机插件执行相同操作,则只会在尝试运行项目时看到错误报告. 更多...

...和:

Unity 广泛支持本机插件,它是用C,C++,Objective-C等编写的本机代码库.插件允许您的游戏代码(用Javascript或C#编写)来调用这些库中的函数.此功能允许Unity与中间件库或现有的C/C++游戏代码集成. 更多....

使用c ++代码,您可以随意执行任何操作,包括编写c#app可以通过其发送数据的本机名称管道服务器.

本地命名管道非常快,因为它们在内核模式下运行,并且不像TCP那样通过网络层.

如果通信仅用于本地计算机,我建议通过TCP命名管道.

备择方案

命名管道的替代方案是:

  • COM
  • DDE
  • 文件映射(包括共享内存,谢谢Ben!)
  • 邮筒

告诉我更多......