2015-04-01から1ヶ月間の記事一覧

socket.ioでUin8Arrayを転送するときの注意事項

前提 socket.io 1.3.5 socket.io(1.3.5)でUint8Arrayを転送しようとしたところ、既存ArrayBufferの一部を参照するviewとして利用している場合、うまく転送できませんでした。sliceを使って転送したい部分だけを抜き出すとうまくいきました。

MessagePack on socket.ioでのバイナリ転送案

前提 socket.io 1.3.5 socket.ioのroomかnamespaceか悩んだ末、問題はバイナリの転送だけなので、MessagePackなどを使えば良いのではないかと考えました。プロトコルも素直になるので。 MessagePack:JavaScript向けのライブラリではいずれもバイナリを文字…

socket.ioでサーバからクライアントへバイナリデータを送る際の送信元

前提 socket.io 1.3.5 socket.ioのroomにはsocket.io自体にクライアントがどのroomに対してメッセージを送ったか判別する手段がない。つまり、1ユーザが同時に複数のroomに所属する場合、どのroomにメッセージを送るかは送信メッセージ上で組み込む必要があ…

socket.ioのon('connect')とon('connection')の2通りの書き方があった

前提 socket.io 1.3.5 socket.ioの接続イベントはon('connection', <接続時に呼ばれる関数>)とマニュアルに書いているけど、プログラム中ではon('connect', <接続時に呼ばれる関数>)と実装されている。バグかドキュメントのミスじゃないかと調べたら、なんと…

JavaScriptのlocation.hostが返す値にはポート番号が含まれる場合がある

前提 JavaScript @ Opera 28 socket.io 1.3.5 ブラウザのJavaScript、location.hostはlocalhost:8080のようにポート番号が付記される。ただしポート番号が80の場合はlocalhostだけとなる。サンプルを実行してlocalhostだからといって、ポート番号を結合する…