Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
複数の UDP ポートでリッスンし、受信したデータグラムをイーサネット フレームとして処理する必要があります。SOCK_RAW ソケットを作成してイーサネット フレームを受信し、受信したものが UDP データグラムであるかどうかを確認し、データグラムを抽出して UDP ポートを識別する以外の解決策は考えられません。
より良い方法はありますか?特定のポートで UDP データグラムを受信し、イーサネット フレーム全体にアクセスできるようなソケットはありますか?
これがあなたのプラットフォームでサポートされているかどうかはわかりませんが、試してみてください:
int s=socket(AF_INET,SOCK_PACKET,htons(ETH_P_ALL));
http://www.tldp.org/HOWTO/Ethernet-HOWTO-2.html