chrome.sockets 経由でファイルを ftp にアップロードしていますが、ソケット バッファのサイズが限られているため、ブロブをループして小さなデータのチャンクを送信する必要があります。クロージャーとコールバックを使用していくつかの方法を試しましたが、私にとって唯一の方法は do/while ループであり、もちろんブロックされています。問題の一部は、クロージャーに保持する必要がある複数の変数です。ブロブをループするより良い方法を提案してもらえますか?
do
{
chunk = blob.slice(start,end)
start =end
end =end + 8192
chrome.socket.write(this.info.socketId, Socket.string2buffer(chunk), function(writeInfo) {});
}
while (chunk.length>0);
拡張機能の完全なコード (単一目的の ftp マネージャー) https://github.com/vanous/minime-content-manager/tree/master/chromium-ext-broadcast