• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:UDPでのブロードキャスト送信)

UDPでのブロードキャスト送信エラー

このQ&Aのポイント
  • UDPでのブロードキャスト送信プログラムでsendto()関数の戻り値が-1となりエラーが発生しています。
  • 送信先のIPアドレスが正しく指定されているか確認してください。
  • また、サブネットマスクを変更しても問題が解決しない場合、ソケットオプションを調整してみてください。

質問者が選んだベストアンサー

  • ベストアンサー
noname#190876
noname#190876
回答No.1

192.168 てのは、typical internal use for class C network ですが、クラスC アドレスの場合のnetmaskは 255.255.255.0 です。  その辺が、テスト環境と合っているのか、まず、確認しましょう。

vmax_is_cool
質問者

お礼

ゲートウェイを設定したらできました。 netmaskは関係ありませんでした。

vmax_is_cool
質問者

補足

netmaskを255.255.255.0で試してみましたが同じ結果になりました。

その他の回答 (1)

noname#190876
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をプリントさせますね。