1. ホーム
  2. c

[解決済み] sock send()コマンドで「Resource temporarily unavailable」と表示される原因は?

2022-03-07 17:47:21

質問

の原因となるものは何ですか? Resource temporarily unavailable ソケットのエラー send() コマンドを実行しますか?ソケットは次のように設定されています。 AF_UNIX, SOCK_STREAM . ほとんどの場合うまくいくのですが、時々このようなエラーが発生します。ソケットの受信側は正常に動作しているように見えます。

あまり詳しくはないのですが、一般的なアイデアを探しているところです。ありがとうございます。

どのように解決するのですか?

"Resource temporarily unavailable" に対応するエラーメッセージです。 EAGAIN これは、操作がブロックされるはずだったが、ブロックされない操作が要求されたことを意味する。 の場合 send() のいずれかが原因である可能性があります。

  • でファイル記述子を非ブロック化するよう明示的にマークする。 fcntl() または
  • を渡すと MSG_DONTWAIT フラグを send() または
  • で送信タイムアウトを設定します。 SO_SNDTIMEO ソケットオプションを指定します。