在Max for Live中使用命名管道

Using named pipes in Max for Live

本文关键字:管道 Max for Live      更新时间:2023-09-26

我需要在C#应用程序和Max for Live Patch(Max 6)之间设置一个(双向)通信通道。

可以在Max补丁中运行JavaScript(非常轻量级),我曾考虑在JS中使用命名管道将数据发送到C#服务器。然而,我不知道如何在Max环境中设置它们,因为不能使用ActiveXObject之类的东西。

这有可能实现吗?或者我必须用C写一个最大扩展作为代理吗?

(或者我应该使用网络连接吗?)欢迎任何提示!

谨致问候,Moritz

我承认我对命名管道没有太多经验,但无论如何,我都建议建立网络连接。

大多数需要与其他应用程序通信的Max用户都使用本机UDP对象udpsend和udprocive以及CNMAT开发的OSC协议。我自己更喜欢TCP/Json,并对Max中缺乏本机TCP支持感到沮丧。根据您的应用程序的需要,了解客户端何时断开连接、确保数据包以正确的顺序到达等可能非常重要——UDP不提供这些功能。

出于这个原因,我已经开始使用Unix套接字为Max开发一个本地TCP客户端。由于你使用的是Windows,这不会开箱即用,但基本的构建块仍然有用。如果你想添加winsock支持,这对Max社区来说可能是一个巨大的好处。