0

複数の UDP ポートでリッスンし、受信したデータグラムをイーサネット フレームとして処理する必要があります。SOCK_RAW ソケットを作成してイーサネット フレームを受信し、受信したものが UDP データグラムであるかどうかを確認し、データグラムを抽出して UDP ポートを識別する以外の解決策は考えられません。

より良い方法はありますか?特定のポートで UDP データグラムを受信し、イーサネット フレーム全体にアクセスできるようなソケットはありますか?

4

2 に答える 2

0

これがあなたのプラットフォームでサポートされているかどうかはわかりませんが、試してみてください:

    int s=socket(AF_INET,SOCK_PACKET,htons(ETH_P_ALL));

http://www.tldp.org/HOWTO/Ethernet-HOWTO-2.html

于 2013-05-10T10:02:15.153 に答える