Node.jsでIP Messengerにメッセージを送ってみた。

みんな大好きIPMSG!! いろいろあってストレス溜まっていたので、ちょっとした気分転換に、Node.jsでメッセージを送信してみました。

今回のサンプルを動かすにあたっては、事前に以下のnpmをインストールしておいて下さい。

npm install sprintf
npm install jconv
// ipmsg.js

var dgram = require('dgram');
var sprintf = require('sprintf').sprintf;
var jconv = require('jconv');

var udp = dgram.createSocket("udp4");

var version = 0x0001;
//var IPMSG_SENDMSG = 0x00000020;
var command = 0x00000020;

var user = 'dai_yamashita';
var host = 'myhost';

function makemsg(message){
    return jconv.convert(sprintf("%d:%d:%s:%s:%d:%s", version, Math.floor(Math.random() * 1000 + 1), user, host, command, message), 'UTF8', 'SJIS');
}


var msg = "ヽ(=´▽`=)ノ";

udp.send(makemsg(msg), 0, makemsg(msg).length, 2425, "192.168.xxx.xxx", function(err, bytes) {
    // console.log(err);
    // console.log(bytes);
    udp.close();
});

これで、

node ipmsg.js

とかすると、IPメッセンジャー さんに、udp.sendで設定した送信先

ヽ(=´▽`=)ノ

というのが、届いているかと思います。

もう少し、いろいろすると、整えると、gruntとかでtask完了後に、ipmsgにメッセージを飛ばすとか出来るので、もうちょっと暇を見て、弄っていきたいと思います。

あと、LinuxでいいIPMSGクライアントあれば教えてください。。m(_ _)m