ページ 11

通信対戦の実装について

Posted: 2013年4月17日(水) 22:25
by コレジャナイ
レンタルサーバーを借りるほどではないと思い、まずはConnectNetWorkなどを使いネット対戦の基礎から入ろうと思いました。
ただこの掲示板や他にも色々調べていた所、どうもこの方法では同一インターネット内でしか通信出来ない?らしく困っております。

目標というか理想としては
遠くに居る知り合い同士がお互いのIPアドレスを打ち込み通信する
という程度で、知らない人多数と通信などは考えてません。

どうもルーターとポートの設定を対応させる事で理想通りにいけるみたいなのですが、ユーザーにその手間を押し付けてしまうのは
駄目だと思い、それは無しの方向でお願いします。
(プログラム自体にこの設定を組み込めるらしいですが、学べる範囲内であれば挑戦したいと思います)

またこの問題解決に使えるか全く分からないのですが、USENからHP作成用の無料サーバーが使える状態です。
これは利用出来るものでしょうか・・・?
もし通常のレンタルサーバーと同じく利用出来るのであれば、知らない人との通信対戦を行えるゲームも組めるのかなぁと思いますが、どうなのでしょう?

C言語とDXライブラリを用いての実装を予定しております。
宜しくお願いします。

Re: 通信対戦の実装について

Posted: 2013年4月17日(水) 22:51
by みけCAT
マジレスすると、インターネットって地球上に複数存在するものなのでしょうか?
「UPnP」で調べるといい感じかもしれません。
HP作成用のサーバーはゲームCGIが禁止されているところが多いので、気をつけてください。

Re: 通信対戦の実装について

Posted: 2013年4月17日(水) 23:02
by softya(ソフト屋)
UPnPでポート開放を自動化することができます。ツールもあるので、それを使うほうが簡単です。
ゲームの場合と言うかサーバーになるには、ポート開放しないと外部の通信を受けることが出来ません。
WEBサーバーは外部にあるので通信する事ができるのですが家庭用のPCは大抵ルータで外部と内部が隔てられています。

>またこの問題解決に使えるか全く分からないのですが、USENからHP作成用の無料サーバーが使える状態です。
HP作成用の無料サーバーでは特定のCGI以外を置けない所も多いです。

Re: 通信対戦の実装について

Posted: 2013年4月17日(水) 23:17
by h2so5
自分はMiniUPnPというライブラリを使ったことがあります。
C言語から使うことができ、Windows上で実際にポート開放できることを確認しました。

レンタルサーバーの場合は基本的にHTTPやFTP用のポートしか空いていなかったりするので、
通信にHTTPを使うならともかくゲームサーバーのように使うのは難しいと思います。

ゲームサーバーが用意できない場合には、クライアントのうちどちらかがホストとなってサーバーの処理をします。
TCPで通信するのであればポート開放はホスト側だけで基本的にOKです。