タイムアウトが発生したときにサーバーからクライアントをキックする簡単な方法はありますか? ソケットはTCPです
質問する
259 次
2 に答える
2
close(2)
ファイル記述子だけで、それからの読み取りを停止します。
于 2012-08-11T09:32:20.810 に答える
0
キックという用語はあいまいです。通常、サーバーの TCP スタックに強制的に接続をリセットさせるにはSO_LINGER
、タイムアウトのオプションを有効にして0
からソケットをシャットダウンします。以下の例 (エラー チェックなし)。
struct linger lo = { 1, 0 };
setsockopt(sock, SOL_SOCKET, SO_LINGER, &lo, sizeof(lo));
shutdown(sock, SHUT_RDWR);
close(sock);
が複製されていないshutdown
ことが確実な場合は、を明示的に呼び出す必要はありません。sock
于 2012-08-11T09:59:12.410 に答える