« Ver.1.5.1 リリース | トップページ | Ver.1.5.2 リリース »

2016年6月13日 (月)

ファイル転送でフリーズする…場合があります

次の版向けの修正をテストしていたら、Qt Brynhildrからサーバにファイルを転送(送信)する時にフリーズすることがあることが分かりました。サーバからQt Brynhildrへのファイル転送(受信)では問題ありません。

socketのsend()でファイルをすべて転送し終わってもサーバがまだデータを待っているらしくキーボード/マウスの操作情報が送れなくなり、事実上操作不能となります。この場合とりあえずQt Brynhildrを一旦終了し、接続し直せば正常に操作可能になります。

この現象に関してBrynhildrの作者さんに連絡を取り、フリーズ条件などを確認して頂きました。

で、原因が先ほど判明しました。詳細は省きますが、技術的な仕様により、一度に送るデータのサイズは常に16バイト以上である必要があるのだそうです。つまりフリーズする条件は以下のようになります。

ファイルサイズ mod 1024 が 16 より小さい時

例えば、8193バイトのファイルを送ろうとすると

8193 mod 1024 = 1 となり上記の条件を満たしてしまいます。

対策として Ver.1.5.1 の置き換え版もしくは、Ver.1.5.2 のリリースを検討中です。

« Ver.1.5.1 リリース | トップページ | Ver.1.5.2 リリース »

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/2011805/65987963

この記事へのトラックバック一覧です: ファイル転送でフリーズする…場合があります:

« Ver.1.5.1 リリース | トップページ | Ver.1.5.2 リリース »

無料ブログはココログ
2017年7月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31