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

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

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

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

3回答

3373閲覧

Pythonで通信

Lehm_c

総合スコア7

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2016/04/17 01:31

Python2.7で自分のIPアドレス以外の人と通信するには。
同じPC内でターミナルを2つ起動し、サーバー&クライアントと通信するのは問題ないのですが、
これを沖縄に住んでいるAさん、と東京に住んでいるBさん
この場合Aさんをサーバー,Bさんをクライアントとして通信するにはどういうスプリクトが必要ですか?
これまではlocalhost内だったので問題ありませんでしたが、
これが違うIP同士になると、どういうふうに書けばいいの教えて下さい。

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

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

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

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

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

guest

回答3

0

ベストアンサー

takasima20 さん、tkanda さんが書かれているとおり、Python のスクリプトでどうこうできるのは IP アドレスを指定して TCP and/or UDP で通信できる環境が整っていることが前提です。A さん、B さんが個人の場合、PC A (A さんの PC) と PC B (B さんの PC) はほとんど間違いなく、インターネットに接続したそれぞれの LAN 内 (LAN A、LAN B、命名方法は他と同じで) に所属しています。LAN A 内の PC (など) はそれぞれ IP アドレスで通信できますし、NAT などの方法で、LAN A からインターネット上にグローバル IP アドレスを持つサーバとの通信も可能です (LAN B も同様)。LAN A からインターネット上のサーバとの通信に必要なアドレス変換などの作業 (NAT だったり DMZ 機能だったりポート転送だったり) は、LAN とインターネットをつなぐルータで行っています (LAN とプロバイダのネットワークの間にいわゆるホームルーターが挟まっていて、そこから先もいくつかネットワーク機器を通過してインターネットとつながっているかもしれません)。
で、LAN A と LAN B は、そのままでは互いに通信できません。何らかの方法で通信できるようにする必要があります。方針としては二つあろうかと思います。一つは、サーバとなる PC である PC A にグローバル IP アドレスで通信できるようにし、PC B からそのグローバル IP アドレスにアクセスするというものです。もう一つは、LAN A と LAN B を VPN でつなぐことです。後者は、ざっくり言えば、インターネット上に、暗号化された通信路を設け、LAN A と LAN B を同じ LAN 内にあるものとできる仕組みです。
LAN A と LAN B がどれくらい頻繁に通信するのか、通信速度はどれくらい必要か、費用はどれくらいかけられるのか、などによって、どちらの方式にするか、さらには具体的にどういう機器やソフトを導入するのか、が違ってきます。Lehm_c さんの質問の感じからは、まずは SoftEather VPN で VPN を構築するのがよっかな、と思いました。

投稿2016/04/17 07:26

unau

総合スコア2468

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

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

0

Pythonのスクリプトを調べる前に、インターネットを使って通信するアプリを開発する上で、どうしても避けて通れない技術として TCP/IP 仕組み(IPアドレスの仕組み、名前解決、ルーティングなど)について、最低限の知識が必要です。
こちらのサイトなど参考にされてはいかがでしょうか。

ネットワーク(TCP/IP)入門

投稿2016/04/17 02:00

tkanda

総合スコア2425

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

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

0

AさんBさんというと個人宅ということでしょうか。
Python以前の話として、互いが通信可能である必要があります。
しかもインターネットを経由して(ということですよね?)
まずはそちらの方から検討されてはいかがでしょうか。

投稿2016/04/17 01:54

takasima20

総合スコア7458

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問