ネットを通じてデータのやりとりをするプログラムを作りたいとおもっています。
プログラミング言語はHSPというものを使っています。
数年前挑戦したときは、
無線LANを介さない親機PC同士ならばネットを通じて通信できたのですが、
受信側が無線LANの子機だったときは、
受信側のIPアドレスがローカルネットワーク上のものとインターネット上のものと2種類になってしまって、
データを送信する際に送信先として親機のアドレスを指定しても受信したい子機まで届かないし、
子機のアドレスを指定しても、それはローカル上でのものですのでもちろん意味がありませんでした。
この問題を解決するにはどういう風な構造のプログラムをかけばいいのでしょうか?
ずごくあいまいですが、ヒントのようなものでかまいませんので教えてください。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
端末A--<インターネット>---端末B
ならOKだけど、
端末A--<インターネット>---無線親機--<無線LAN>--端末B
だとつながらない、ということですね。
これは基本的にプログラムがどうこうと言うより、
ネットワーク側の問題です。
具体的には、この無線親機はルータとして動作しており、
ここでNATが掛かるようになっています。
(端末Bは親機のグローバルIP経由でインターネットにアクセスする方式。
親機-端末B間はローカルIPで通信する。)
この場合、端末Bからに端末Aにアクセスする分には何も問題ないのですが、
端末Aから端末Bにアクセスする場合は、端末Aは無線親機のグローバルIPしか
わかりませんので通信することができません。
そのため、一工夫する必要があります。
一般によく使われるのは「ポートフォワーディング」と呼ばれる方法です。
「ポート開放」と呼ばれることもあります。
これは無線親機のxxx番ポートにアクセスがあったら、
ローカルIPアドレスのyyy番ポートに転送する、
という機能です。
これを親機に設定しておけば、端末Aは無線親機のグローバルIPにアクセスすることで
通信可能になります。
もしプログラム的に制御したい、という場合だとUPnPに対応した無線親機を利用して、
UPnP経由でルータを操作してポートフォワーディングする、という方法が取れます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(インターネット接続・インフラ) ホームページのログイン認証の際、PCから相手方サーバーに対し送信されるMACアドレスについて 1 2022/10/17 14:14
- ルーター・ネットワーク機器 10Gbpsの恩恵 5 2022/11/16 15:48
- その他(スマートフォン・携帯電話・VR) 携帯メール・アドレスのドメインを教えてください 4 2023/07/13 10:29
- VPN 無料のwifiはなぜ危険性高い? VPN プライベートDNSモードにすれば安全? 2 2022/06/04 18:23
- その他(メールソフト・メールサービス) メールサーバーは「PC側がメールをDL済みか否か?」を何を以て感知するのか? 2 2022/12/20 14:56
- その他(コンピューター・テクノロジー) 「プロトコル」の定義について 5 2023/04/16 13:13
- デスクトップパソコン 古ーいパソコン/Atheros AR2181 PCIe Gigabit LAN コントローラー 7 2022/09/07 12:58
- Wi-Fi・無線LAN ローソンで wi-fi 接続できませんでした スマホは OPPO A 73です 何がいけなかったか 4 2022/05/31 03:53
- Wi-Fi・無線LAN パソコンはIEEE802.11ax準拠ではありません。無線LAN子機の規格にIEEE802.11ax 6 2023/08/02 16:35
- FTTH・光回線 光回線、中継器を導入した際の端末側のローカルipアドレスについて 3 2023/03/11 14:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラム言語について。
-
VBAでパワーシェルを実行したい...
-
C#とC++について。
-
CLispのloop内の挙動について
-
interface 2021年5月号 P46
-
VBA 電話番号の正規表現について
-
Windowsのアプリ開発ってなんの...
-
プログラミングのPythonのnoteb...
-
vba クリップボードクリアにつ...
-
ImageMagickでgif画像の一部が...
-
ExcelVBAでFormulaR1C1を列範囲...
-
pythonにてseleniumを使うも、...
-
ホワイトハッカー
-
小学1年生の子です。塾に行かせ...
-
pythonで複数画像からgifを作る...
-
ハッシュテーブル(連想配列)が...
-
httpリクエストの送り元の特定
-
楽しくて最高のプログラミング...
-
プログラミング
-
家庭のパソコンで Python の 環...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
linux上でgetchを使いたい
-
エクセルVBAでのネットワークプ...
-
[C#]リモートアクセスのProcess...
-
VBScrptについて
-
閲覧したスクロール位置に戻る...
-
android開発初心者です。 2つの...
-
C++で引数の型の構造体をif文で...
-
VB .NETで作成したソフトが、他...
-
C#で作成したDLLをExcelVBAで利...
-
親スレッドが子スレッドを監視...
-
VB6からVB.NET作成DLL呼び出し...
-
JavaScriptでキオスクモードを...
-
VSSにてrights.datアクセス拒否...
-
VB.NetのWMIを用いたリモート端...
-
文字コードは何にしたらいいで...
-
Android「adb shell」パスを知...
-
タッチパネルディスプレイのカ...
-
docomoメール内でURLリンク
-
sendmailとimodeの絵文字について
-
【PHP】UUID・UDIDによる端末判...
おすすめ情報