- ベストアンサー
無線LANカード2枚挿し時のUDPクライアントプログラミングについて。
LinuxのUbuntu8.04を使用しているのですが、現在無線LANカード2枚挿ししている状態で、同じネットワーク内でIPアドレスを設定しています(192.168.0.10と192.168.0.11)。UDPクライアントプログラムでパケットを送信すると、インターフェイスを勝手に選んでしまうので、任意に「こっちの無線LANカードを使う!」という指定をするためにはどのようにプログラミングすればよいでしょうか? お願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Linuxでは未確認ですが、 SOCKADDR_IN sck; sckをゼロクリア sck.sin_family = AF_INET; sck.sin_port = htons(ポート番号); sck.sin_addr.s_addr = inet_addr(使うLANカードのIPアドレス); bind(socket,&sck,... socketはデータグラムソケット。
お礼
bindの意味を理解して、回答を参考にしたらできました!! ありがとうございます(^▽^*)
補足
素早い返答ありがとうございます。 現在プログラミングと格闘中なのですが、 sck.sin_addr.s_addr = inet_addr(...); のところでは送信相手のIPアドレスを入力すると思っていたので、この通りやってみると、相手のアドレスを記述する部分がわからなくなってしましました(汗) どうすればよいでしょうか(^-^;) 基本的なクライアントプログラムは、 http://www.geekpage.jp/programming/linux-network/udp.php を参考にしてプログラミングしています。