Nano Hash - криптовалюты, майнинг, программирование

Модуль Node.js OSC отправляет TCP

Я использую модуль OSC https://github.com/colinbdclark/osc.js, но Я изо всех сил пытаюсь заставить его работать через TCP. Я не могу найти примеров, использующих TCP, все они основаны на UDP.

Я попытался просто создать TCP-клиент в node.js, но все еще пытаюсь правильно закодировать сообщение в формате OSC. Я также считаю, что он также должен быть закодирован с помощью SLIP?

Я очень новичок в этом, так что будьте нежны.

Было бы замечательно, если бы кто-нибудь мог указать мне правильное направление или привести пример отправки сообщений OSC через TCP в node.js.

Благодарю вас!

Уэйд

PS. С удовольствием использую модуль osc-min. Насколько я знаю, вы можете закодировать сообщение в сообщение osc и сохранить в var. Но все еще не могу заставить его работать через TCP.. отлично работает через UDP, но мои ответы больше, чем то, что может обрабатывать UDP, если это имеет смысл


Ответы:


1

Я не очень хорошо знаком с OSC, поэтому не знаю о его внутренностях, но osc.js поддерживает транспорт TCP, например:

let server = new osc.TCPSocketPort({});

server.open('127.0.0.1', 57121); // change to remote host/port

server.on('ready', () => {
  console.log('ready');
  ...
});

Согласно README:

Для потоковых протоколов, таких как последовательный и TCP, osc.js позаботится о кадрировании SLIP за вас.

09.03.2017
  • Спасибо большое. В данный момент в поезде и ноутбук разряжен. Но вечером попробую позже. Я не смог найти пример того, как использовать его через TCP, но, судя по вашему, я был ближе;) дам вам знать как можно скорее. 09.03.2017
  • удивительно! работает один, я изменил его с сервера, так как он уже определен ... теперь я получаю ответы, используя - let tcpServer = new osc.TCPSocketPort ({}); tcpServer.open('127.0.0.1', 53000); tcpServer.send({адрес: /версия, аргументы: 1,}, '127.0.0.1', 53000); tcpServer.on('данные', function(data) { console.log('DATA: ' + data); }); Но ответ в консоли не совсем совпадает с сообщением UDP �/reply/version,s{status:ok,address:\/version, data:4.0.6}� Обычно я обращался к этому через data.status для получить значение статуса. 09.03.2017
  • @Wayde У меня нет сервера OSC для тестирования, но похоже, что вы получаете туда необработанные данные пакета. Из-за кадрирования SLIP может случиться так, что вам сначала потребуется распаковать данные. Вместо прослушивания события data попробуйте прослушивать событие message (FWIW, я собираю все это вместе из osc.js источник и репозиторий с примерами). 10.03.2017
  • конечно, я использовал тот же метод, что и рабочие ответы UDP tcpServer.on('message', function(oscBundle, timeTag, info) { console.log('Message: ' + oscBundle.args); }); Большое спасибо за Вашу помощь!! 11.03.2017
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..