ローカル ネットワーク内の多くの Windows および Linux ホスト間で UDP を介して通信するアプリケーション (C/C++ で記述) があります (winsock / Linux-Sockets 経由)。私は 1 つのポートしか使用しないため、各ホストで 1 つのソケットのみを使用します。一部のメッセージは Broadcastet であり、返信は多くの場合ユニキャストですが、いくつかは Broadcast でもあります。これまでのところすべてが機能していますが、
(recvfrom 経由で) 受信したパケットがブロードキャストかユニキャストかを確認するにはどうすればよいですか?
私が見つけた唯一の解決策は、この情報をペイロード内で送信するか、別のポートを使用することでした。どっちもあんまり得意じゃない…