- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:UDPでのブロードキャスト送信)
UDPでのブロードキャスト送信エラー
このQ&Aのポイント
- UDPでのブロードキャスト送信プログラムでsendto()関数の戻り値が-1となりエラーが発生しています。
- 送信先のIPアドレスが正しく指定されているか確認してください。
- また、サブネットマスクを変更しても問題が解決しない場合、ソケットオプションを調整してみてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#190876
回答No.1
192.168 てのは、typical internal use for class C network ですが、クラスC アドレスの場合のnetmaskは 255.255.255.0 です。 その辺が、テスト環境と合っているのか、まず、確認しましょう。
その他の回答 (1)
noname#190876
回答No.2
ま、私が、あなたなら、 sock = socket(AF_INET, SOCK_DGRAM, 0); setsockopt(sock, SOL_SOCKET, SO_BROADCAST, (char *)&yes, sizeof(yes)); sendto(sock, "HELLO", 5, 0, (struct sockaddr *)&addr, sizeof(addr))! で、それぞれ、エラーリターンになってないか、チェックして、それで、エラーリターンなら、errnoをプリントさせますね。
お礼
ゲートウェイを設定したらできました。 netmaskは関係ありませんでした。
補足
netmaskを255.255.255.0で試してみましたが同じ結果になりました。