Last active
December 12, 2015 01:38
【msgpack ハッカソンの産物】 ログファイル > node tail > (msgpack pack) WebSocket (msgpack unpack) > SublimeTextのコンソールに表示 用途:Unityのコンソールとか、エラー解析した行データをSTのコードの上に表示したり。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var WebSocket = require('ws'); | |
var assert = require('assert'); | |
var msgpack = require('msgpack'); | |
var ws = new WebSocket('ws://127.0.0.1:8823/'); | |
Tail = require('tail').Tail; | |
tail = new Tail("/Users/sassembla/Library/Logs/Unity/Editor.log"); | |
ws.on('open', function() {}); | |
tail.on("line", function(data) { | |
ws.binaryType = 'arraybuffer'; | |
var str = {"mp" : data}; | |
//msgpack | |
var bin = msgpack.pack(str); | |
var arraybuffer = new Uint8Array(bin); | |
ws.send(arraybuffer.buffer, {binary:true}); | |
}); | |
ws.on('message', function(data, flags) {}); |
教えてもらったところ、binaryTypeの指定方法を間違えていた。
line18 {binary:true} を指定する事で、binaryとして送付できた。
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
2つ問題があって、nodeで動くWebSocketClientを使っていたのだけれど、こいつが
・送付物の判定を自動でしていた
→ので、line12 ws.binaryType = 'arraybuffer';は意味が無かった。
・判定が間違ってて、常にopcode = 0x1 textで送ってた。
という感じだった。
調整したところ問題なく動作。