Использование именованных каналов в Max для Live

Мне нужно настроить (двунаправленный) канал связи между приложением C# и Max для Live Patch (максимум 6).

Можно запустить JavaScript внутри патча Max (довольно легкий), и я подумал об использовании именованных каналов внутри JS для отправки данных на сервер C#. Однако я понятия не имею, как их настроить в среде Max, потому что такие вещи, как ActiveXObject, не могут быть использованы.

Можно ли этого достичь или мне нужно написать Max Extension в C в качестве прокси?

(Или мне лучше пойти с сетевым подключением?) Любые советы приветствуются!

С уважением, Мориц

1 ответ

Я признаю, что у меня нет большого опыта работы с именованными каналами, но в любом случае я бы порекомендовал установить сетевое соединение.

Большинство пользователей Max, которым необходимо общаться с другими приложениями, используют собственные объекты UDP udpsend и udpreceive вместе с протоколом OSC, разработанным в CNMAT. Я сам предпочитаю TCP / Json, и был разочарован отсутствием собственной поддержки TCP в Max. В зависимости от потребностей вашего приложения может быть очень важно знать, когда клиенты отключаются, чтобы гарантировать, что пакеты поступают в правильном порядке и т. Д. - функции, которые UDP не предоставляет.

По этой причине я начал разработку собственного TCP-клиента для Макса с использованием сокетов Unix. Поскольку вы используете Windows, это не будет работать для вас из коробки, но основные строительные блоки все еще могут быть полезны. Если вы хотите добавить поддержку Winsock, это может быть большим преимуществом для сообщества Max.

Другие вопросы по тегам