アプリ版:「スタンプのみでお礼する」機能のリリースについて

DXライブラリでゲームを作成しているのですが、通信対戦機能をつけるために、
http://homepage2.nifty.com/natupaji/DxLib/functi …
のページの、ConnectNetWorkのサンプルプログラムを、
設定するIPにプライベートアドレス、グローバルアドレスを入れたりしてとりあえず試しているのですが、
ポート開放している私のパソコンを接続待ち側とし、友人宅から接続側プログラムを試してもらっているのですがうまくいきません。

自宅で2台のパソコンを使って試した所、プライベートアドレスでは成功、グローバルアドレスは失敗しました。
サンプルプログラムのままなのに失敗するのですが、なぜか分かりますか?

A 回答 (2件)

>ポート開放している私のパソコンを接続待ち側



全ポートを解放している…んですか?
ConnectNetWork()ではどのポート(とプロトコル)を使用しているのか書かれていませんが……
# DirectPlay辺りでも使っているんですかね?

双方でWireSharkなどのパケットキャプチャソフトを使用して、確認してみてはどうでしょうか?

カテゴリは技術者向けの方がよいかと思いますけど。
[技術者向] コンピューター > プログラミング > C&C++
とか…
    • good
    • 0

プライベートで成功と言うことはルータが間にあるんですよね


それならいきなりWANからLANのPCとは通信できませんよ
特定のポートを使うのならルータにそのポートに来たデータはこのプライベートIPに送ってと教えないといけません
ポートフォワーディングで検索してみてください
実験するだけならルータをはずしてPCをモデムに直結すればグローバルIPで通信できます
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!