- 締切済み
ネットワークカード2枚挿し TCP/IP通信
PCにネットワークカードを2枚挿しています。 一方はある機器に一方はネットと繋がっています。 機器とPCでTCP/IP通信をするアプリケーションを作成しています。設定画面を作って相手機器のIP、ポート番号等を設定するようにしています。 TCP/IPの場合はPCのIP等を設定画面に入れなくても どちらのネットワークカードを経由するかというのは 決めてくれるんでしょうか? PCのIPアドレスは指定する必要ないですか? UDP/IPの場合はどうなんでしょうか? PCと機器の両方のIP、ポート番号を指定しなければいけないのでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- anmochi
- ベストアンサー率65% (1332/2045)
状況としてはこんな感じかな? インターネット |192.168.1.254 | |192.168.1.1(NIC-α) パソコンA |192.168.2.1(NIC-β) | |192.168.2.2 ある機器 これで、パソコンAとある機器がTCP通信するんよね。これなら大丈夫よ。パソコンAから「192.168.2.2にパケットを投げる」とすれば、ちゃんとNIC-βにパケットを配送してくれる。パソコンAの設定が次のようになっていれば良い。Windowsの場合 NIC-α=192.168.1.1/255.255.255.0 デフォゲ 192.168.1.254 NIC-β=192.168.2.1/255.255.255.0 デフォゲ 空っぽ こんな感じ。これで、192.168.2.xにパケットを投げる時はNIC-βに、192.168.1.xにパケットを投げる時はNIC-αに、それ以外の場合もNIC-αにパケットを配送してくれる。IPレイヤで行われる制御なので、TCPとUDPどちらも同じ。
- rinkun
- ベストアンサー率44% (706/1571)
設定画面というのはPC上で良いですか。 機器につなぐNICとインターネットにつなぐNICのネットワークアドレスが同じなど異常な設定にしていなければ、機器のIPアドレスからどのネットワークにあるか分かるのでPC側でどのNICを使うかの指定は不要ですよ。 そもそも普通のソケット・プログラミングで使うNICを指定するのは大変だと思うけど。