エラー: IP_RECVDSTADDR が宣言されていません (この関数で最初に使用)。Linux でこのソケット オプションを使用できますか、または既に未定義です Linux のすべての in.h ファイルを検索しましたが、何も見つかりませんでした。
スティーブンはそれを使用しますが、彼はタイプします
#ifdef IP_RECVDSTADDR
.......
#endif
エラー: IP_RECVDSTADDR が宣言されていません (この関数で最初に使用)。Linux でこのソケット オプションを使用できますか、または既に未定義です Linux のすべての in.h ファイルを検索しましたが、何も見つかりませんでした。
スティーブンはそれを使用しますが、彼はタイプします
#ifdef IP_RECVDSTADDR
.......
#endif
実装用に定義されていない場合は、使用できません。
スティーブンスの本がを使用する理由は、#ifdef
それが定義されていない場合は使用できないためです。
オプションはBSD
特定のオプションです。MacOSXとFreeBSDに表示されます
推奨されるオプションはIP_PKTINFO
まだ BSD であり、OSX はこれを IPv4 に実装していませんIPV6_PKTINFO
。同様に興味深いことに、Solaris は両方を定義しています。
したがって、IPv4 を処理するには、プラットフォームごとに固有のコードが必要です。