質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

TCP

TCP(Transmission Control Protocol)とは、トランスポート層のプロトコルで、コネクション型のデータサービスです。

Q&A

解決済

2回答

5839閲覧

グローバルIP同士の通信について

kiritsugu

総合スコア127

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

TCP

TCP(Transmission Control Protocol)とは、トランスポート層のプロトコルで、コネクション型のデータサービスです。

0グッド

0クリップ

投稿2017/01/29 14:11

現在TCPプロトコルを使いc#でメッセージのやり取りができるプログラムを書いています。それは完成したのですが、同じLAN内のPCとしか通信できません。
調べたら当たり前のことらしく驚いたのですが、グローバルIPどうし?で通信でメッセージのやり取りをしたいです。
自分のpc---[ルータ] ------------[ルーター]---相手のpc
この場合ルータの設定などをする必要があるのでしょうか?
たとえですが、プログラムだけで(沖縄にあるpc)と(北海道にあるpc)でメッセージのやり取りができるようにしたいです。
tcpプロトコルでなくhttpプロトコルなどを使えば、、、とかそういう問題なのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

こんにちは。

一般的な家庭用のルータはセキュリティのため、外側(WAN)から内側(LAN)への通信を遮断します。
ですので、「自分のPC」が送った要求は相手のルータまでは届きますが、相手のルータにとってそれはWAN側からの通信ですので「相手のPC」へ中継しません。
ですので、ルータを特定の通信だけはPCへ中継するよう設定する等が一般的な手法です。

他にWAN上にあるサーバを使って中継するような手法もありますが、結構難易度は高いです。

投稿2017/01/29 14:25

Chironian

総合スコア23272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kiritsugu

2017/01/29 14:34

LINEなどのチャットアプリはそのWAN上にあるサーバーを使ってメッセージのやりとりができるようになっているのでしょうか?
Chironian

2017/01/29 14:35

実際に見たことはないですが、その筈です。
guest

0

VPN接続をすると簡単にできます。VPN接続は以下などが参考になるかと思います。
https://www.softether.jp/

投稿2017/01/29 14:24

hikochang

総合スコア648

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/01/29 14:37

その回答だと間にhubサーバー挟む形になると思いますよ。やりたいことと違ってくるのでは?
hikochang

2017/01/29 15:04

te2jiさん、北海道か沖縄かどちらかのパソコンにVPNサーバーを構築すると間にHUBサーバーを構築する必要はありません。ルーターに無防備な穴をあけるよりは良いかと思います。 他の方法はありますか?
退会済みユーザー

退会済みユーザー

2017/01/29 20:53

SoftEther VPN Project が NAT トラバーサルサーバー運用しているんですね。知らんかった。 であれば、やりたいこととほとんど相違ないですね。 利用者にトラバーサルサーバを意識させない仕組みみたいですし。 両端のルータにスタティック NAT 入れるより安全かもしれないですね。 セキュリティ面が NAT トラバーサルサーバーに依存するのがちょっと怖いですけど。。。まぁ、肝の部分なんで大丈夫なんでしょう。 評価下げてましたが、失礼しました。取り消しました。 > 他の方法はありますか? 私がやるんだったら、ルータ間の VPN で実装します。 ただ、ルータの種類を選ぶので、ルータにVPN設定出来ない場合は諦めたと思います。 実用面と合わせて、それ以上セキュリティ面で譲歩するのは厳しいですね。 今後もし検討するなら、SoftEther を評価候補に入れると思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問