在名为“appudp.js”的文件中,我有以下代码:
var dgram = require('dgram');
var message = new Buffer("5656"); // Whatever the number could be...
var client = dgram.createSocket("udp4");
client.on("error", function (err) {
console.log("Socket error: " + err);
});
// At every second, send a message...
setInterval(function(){
client.send(message, 0, message.length, 1337, "127.0.0.1", function(err, bytes) {
console.log("err : " + err + " | bytes : " + bytes + " | Message : " + message);
});
}, 1000);
我进入命令提示符,输入“node app.js”。我每 1000 毫秒得到一次:
err: null | bytes: 4 | Message: 5656
到目前为止一切都很好。
在 MaxMsp 中,我有一个非常简单的补丁:
但是,正如您在屏幕截图中看到的,它给了我错误:
OSC Bad message name string: DataAfterAlignedString: Unreasonably long string Dropping entire message.
作为 MaxMsp 的新手,我最终完全迷失了。帮忙?
最佳答案
看起来您没有发送 OSC,而是发送任意 UDP 数据包。请注意,udpreceive 对象需要 OSC 格式的数据包,如 Generalhenry 所建议的那样。
要将消息格式化为 OSC,您可以使用类似 https://github.com/termie/node-osc 的库。 .
关于Node.JS 通过 UDP 到 OSC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12438744/