2

真新しい MacBook Air の localhost で実行されているレールで Flex Builder 4.5 を使用します。curl を使用すると、読み取りのサーバーの応答時間は約 200 ~ 300 ミリ秒です。HTTPService を使用すると、サーバーから受信した XML の 10 行未満で、send() から結果を受信するまでに 1 ~ 5 秒かかります。ブラウザーを使用して URL をレンダリングすると、curl と一致します。つまり、瞬時に表示され、XML がレンダリングされるのを待ちません。

番号は、デバッグ/非デバッグ モードで同じです。作成完了後に HTTPService が呼び出されるので、GUI は完了です。データを受信した後、残りのアルゴリズムはアプリケーションで 20 ミリ秒以内に完了します。

この時間は予期されたものですか、それとも何か間違ったことをしていますか、または何かが正しく構成されていませんか?

4

2 に答える 2

1

あなたが説明したように聞こえるのは、リクエストを送信する前にソケットにソケットオプション( )をHTTPService設定していないことです。私のLinuxから:TCP_NODELAYsetsockopt(3)tcp(7)

  TCP_NODELAY
          If set, disable the Nagle algorithm.  This means that
          segments are always sent as soon as possible, even if
          there is only a small amount of data.  When not set,
          data is buffered until there is a sufficient amount to
          send out, thereby avoiding the frequent sending of
          small packets, which results in poor utilization of
          the network.  This option is overridden by TCP_CORK;
          however, setting this option forces an explicit flush
          of pending output, even if TCP_CORK is currently set.

おそらく、プラットフォームには、特定の接続に対してNagle のアルゴリズムを無効にするように要求できる別の方法があります。

于 2011-11-07T05:11:30.147 に答える
0

sarnold の回答を拡張するには、次の行を追加する必要があります。

<socket-tcp-no-delay-enabled>true</socket-tcp-no-delay-enabled>
于 2011-11-07T09:13:41.027 に答える