-4

私はindy 10.5.8.0とともにDelphi XE2を使用しています

6 年以上前にこの投稿で説明したのとまったく同じ問題が発生しています。

http://www.delphigroups.info/2/1/213924.html

idMappedPortTCP コンポーネントがアクティブに設定されているだけの単純なフォームがあります。突然フリーズするよりも、期待どおりに入出力を転送する数秒間機能します。アプリケーション内の他のすべてが機能しているにもかかわらず、コンポーネントが応答を停止する

残念なのは、まったく同じプロジェクトが indy9 のチャンピオンのように機能することです! しかし、私はindy9を使用することはできません.indy10に固執する必要があります:(

このよく知られた問題の解決策や回避策をまだ誰も提供していないとは信じられません。解決策があるに違いありません!

4

1 に答える 1

9

当時は何もしなかったので何もしませんでした。6年前のその議論で説明したように、根本的な問題は、特定の条件下で古いOSバージョンの下でMicrosoft側のAPI関数がフリーズしたことが原因でした。それは当時のインディの問題ではなく、今日のインディの問題ではありません。今日、select()ハングする唯一の方法は、ソケットの状態変化が発生しないのを待っている場合です。Indyはデフォルトで無限のタイムアウトを使用するため、実際にはネットワークの問題である場合は、Indyでハングアップしているように見えます。つまり、Indyは到着しないインバウンドデータを待機しています。パケットスニファを使用してそれを確認できます。

于 2012-07-31T23:01:46.340 に答える