• 締切済み

[winsock]多分レベル低い質問です

インターネット越しにマシン間でUDPのテストをすべく、 http://www.geekpage.jp/programming/winsock/udp.php の受信プログラムと送信プログラムをまるまるコピーして、その後送信プログラムをちょっといじりました。 まず setsockopt(sock,SOL_SOCKET,SO_BROADCAST,(const char *)&TorF,sizeof(BOOL)); を追加し、 addr.sin_addr.S_un.S_addr = INADDR_BROADCAST; としました。 (TorF変数はBOOL型変数でTRUEで初期化してあります) そして送信プログラムと受信プログラムを別のマシン上に置いて、まず受信プログラムを起動して、送信プログラムを実行しましたが、受信側ではrecv関数待ちが続くだけで、いっこうにデータを受信できません。 備考: ローカルでテストを行ったところ、問題なく受信できました。 ブロードキャストでなく、直接IPを指定してマシン間で送受信をしても、やはりrecv関数でとまってしまいます。 そこで質問ですが、winsockを使用して別のPC間でUDP通信を行う場合、これ以外に設定が必要なのでしょうか。

みんなの回答

  • passepied
  • ベストアンサー率50% (18/36)
回答No.1

パーソナルファイアウォールの設定や中継するルーターでパケットが通るようになっているか確認されていますでしょうか。

ggaogg
質問者

お礼

TCPソケット通信で別のコンピュータ同士でconnect→データ送信ということはできたのですが、それとこれとはファイアウォールやルータの設定においてまた別の話なのでしょうか? もしそうだとしたら、設定してないです・・。 設定のしかた調べてみます。

関連するQ&A