1

プロトコル HTTP1.1 を使用して、Linux で C 言語で Web サーバーを作成しようとしています。複数のリクエストに select を使用しており、永続的な接続を実装したいのですが、タイムアウトを適切に設定できないため、これまでのところ機能していません。どうすればいいですか?私は setsockopt 関数について考えます:

setsockopt(connsd, SOL_SOCKET, SO_RCVTIMEO, (char *)&tv, sizeof(tv))

ここで、tv は構造体 timeval です。これも機能していません。

助言がありますか?

4

2 に答える 2

1

最も簡単な解決策は、おそらく、接続ごとに最後に受信したリクエストを保持し、その時間を定期的にチェックし、それが古すぎる場合は接続を閉じることです。

于 2013-06-21T16:58:44.817 に答える