0

ソケット接続を使用して C アプリケーションでサーバーに接続しています。たまにサーバーが何も返さないことがあります。私は何も意味しません。だから私のアプリケーションはハングします。タイムアウトを使用してみました:

signal(SIGALRM, timeouthandler);
alarm(myTimeout);

(socket and connection logic)...    

alarm(0);

それでもハングし、スクリプトに戻りません。同僚は、私がブロッキング接続を使用している可能性があると言いました。しかし、私が読んでいることから、接続が既に確立された後、接続を非ブロッキングに設定します。

何を調べる必要がありますか?

4

1 に答える 1

0

「何を調べる必要がありますか?」

デバッグ ツールとして、Wireshark はソケット接続のデバッグに便利です。私は C でいくつかのソケット アプリケーションを実行しましたが、TCP スタック ライブラリが不安定なことを実行していることが原因である場合があり、Wireshark はそれを明らかにすることがあります。

お役に立てれば、

于 2012-09-25T19:29:50.527 に答える