トップ «前の日記(2006-10-17) 最新 次の日記(2006-10-19)» 編集

日々の破片

Subscribe with livedoor Reader
著作一覧

2006-10-18

_ IDE-USB2.0コネクタ

IDE / USB2.0変換ケーブル

送料が価格(2000円ってのはAmazonで売ってるのに比較すると安い)の割りに高いなぁ、と思いながらもつい購入してしまった。ディスクはクラッシュするときはクラッシュするが、クラッシュしないやつはクラッシュしないからなぁ。

_ Flash Gateway

連続して呼びまくると、最後の呼び出ししか受け取れないことがわかった(ソースでは確認してないが、実際、そう動くんだからしょうがない)。RPCではなく、1個しかバッファが無いキューを利用するというような実装なんだろうか。具体的には
new Ajax.Request('/foo/bar/', {
    asynchronous: true,
    onComplete: function(response, json) {
        var a = response.responseText.split(';');
        for (var i = 0; i < a.length; i++) {
            flashProxy.call("fooBar", a[i]);
        }
    }
});
というようなコードを書くと、配列の最後だけが受け取れる(サーバーから受け取るデータは、"command=value;command=value……のように組んである。別にXMLで組んでもいいし、JSONでも良いのだが、シンプルなデータにはシンプルな伝送形式)。
そこで、JavaScript側でばらさずに、flashProxy.call("fooBarAll", respone.responseText);と呼び出して、Flash側で分割させようとしたら、getURL("javascript:...");と同様な長さ制限もあるみたいで(というか、あるんだけど、これもソースでは確認してないし、1バイトずつ伸ばしてテストする気はないので、何バイト以上はだめというような確定的な情報ではないわけだが)ある時点から反応がなくなる。
そこで、ひとつ考えたのは、Ajaxではなく、Flashの中で、XMLSocket使う方法。一見うまくいきそうだが、考えてみたらポート80なんだな相手は。crossdomain.xmlのことを考えると面倒だし却下だ。
次にIFrameにgetURLして……どうやって読めば良いのかわからないので、これもだめ。
最後にMovieClipを作って、そこへloadVarsする方法を考えた。これはうまくいくのは間違いなさそうだが、なんだかなぁ感というか微妙な敗北感が漂う。というかURLエンコード/デコードするの面倒だし。
で、やっぱりFalshProxyを使う方法で、
new Ajax.Request('/foo/bar/', {
    asynchronous: true,
    onComplete: function(response, json) {
        var i = 0;
        var a = response.responseText.split(';');
        var oInterval = setInterval(
            function() {
                if (i < a.length) {
                    flashProxy.call("fooBar", a[i++]);
                } else {
                    clearInterval(oInterval);
                }
            }, 100);
    }
});
これはこれで、タイマーの間隔を短くすると歯抜けになったりするんだが、とりあえずここまで。

2003|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|

ジェズイットを見習え