C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■102801 / 5階層)  グローバルIPアドレスで通信する方法
□投稿者/ Azulean (1297回)-(2024/01/03(Wed) 00:17:01)
2024/01/03(Wed) 00:26:18 編集(投稿者)

No102800 (まーくん さん) に返信
>>下記の参考サイトを読み込めば、「2者間接続」ではなく、「3者間接続」であることがわかるかと思います。
>
> 3者接続であることは理解しているのですが、
> なぜ3者接続にするとルーターの存在を無視することができるのかが全く理解できておりません。

なぜ、ルーターを介すると通信できないのかを学びましょう。
その理解を経ずに今回やりたいことを実現すること自体が無理筋です。

・この仕掛けは「ルーターの存在を無視する」わけではありません。(3者接続であれ、ルーターを経由します)
・ルーターを介すると一切の通信できないなら、普段のインターネット接続すらできないことになる(ルーターの存在意義がない)ことになるので、論理的に破綻します。
・ルーターが何をしてくれるのか、どういった特性の通信は成り立つのかを理解しておく必要がある。
・その特性を理解すれば、3者通信にすれば成り立つことも納得できるでしょう。
・ルーターの存在意義・期待される役割もきちんと意識して、構築しましょう。
(そうしないと、ネットワークを危険にさらすか、ネットワークを破壊することになる)


> TcpListenerを使ってどのようにして、
> グローバルIPアドレス(ルーターのアドレス)とローカルIPアドレス(PCのアドレス)を同時に設定するのでしょうか?

そんなことは必要ありません。
厳しいことを言いますが、このように思われるということは、前提知識が足りないと言わざる得ません。
ネットワークを理解せずに適当に作り上げることは、ネットワークを危険にさらすので「絶対に」やめてください。


技術的には、少し前に "・サーバー側がルーターを通してインターネットに接続しているのであれば、TcpListener に設定するべきは「自分のローカルアドレス」である。" と書いた通りです。
これでなぜ通信が成り立つかわからないなら、確実に学びが足りません。
編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[4]: グローバルIPアドレスで通信する方法 /まーくん →Re[6]: グローバルIPアドレスで通信する方法 /まーくん
 
上記関連ツリー

グローバルIPアドレスで通信する方法 / まーくん (24/01/01(Mon) 15:47) #102796
Re[1]: グローバルIPアドレスで通信する方法 / Azulean (24/01/02(Tue) 17:03) #102797
  └ Re[2]: グローバルIPアドレスで通信する方法 / まーくん (24/01/02(Tue) 19:35) #102798
    └ Re[3]: グローバルIPアドレスで通信する方法 / Azulean (24/01/02(Tue) 20:38) #102799
      └ Re[4]: グローバルIPアドレスで通信する方法 / まーくん (24/01/02(Tue) 21:32) #102800
        └ グローバルIPアドレスで通信する方法 / Azulean (24/01/03(Wed) 00:17) #102801 ←Now
          └ Re[6]: グローバルIPアドレスで通信する方法 / まーくん (24/01/03(Wed) 13:57) #102802
            └ Re[7]: グローバルIPアドレスで通信する方法 / Azulean (24/01/03(Wed) 14:21) #102803
              └ Re[8]: グローバルIPアドレスで通信する方法 / わんわん (24/01/05(Fri) 13:34) #102806
                └ Re[9]: グローバルIPアドレスで通信する方法 / ぶなっぷ (24/01/09(Tue) 16:27) #102825

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信