|
Microsoft Visual C++ 2010 Express
|
■ネットワークプログラミングしてみる
|
Top Next
|
|
関連ページ:なし
|
さて前回のネタでFBXファイルが使えるようになったので、いよいよシェーダーかあと思ってたんですが、まったく違うことをやります。
ネットワークプログラミングです。ぶっちゃけまったくもってスキルないです。まあだからこそやってみようと思ったわけですが。
初心者さんが無理して挑戦するので、長い目で見てくれるとありがたい。
ゲーム制作でネットワークプログラミングというと、DirectPlayを思い浮かべますが、
なんとMSDNによると
DirectPlay は廃止が予定されており、新しいアプリケーションの開発には使用しないことを強くお勧めします、とのことです。
ですので Windows Sockets 2 を使用して開発していきます。
さて、サンプルプログラムを見ていく前に、まず基礎的な用語の説明をざっくりします。
ほんとざっくりね。しかもネット上から拾ってきた情報を簡略化しただけだったりする。
ネットワークを介して通信を行う場合、自分と通信相手とで互いに決められたルールにのっとって通信を行う必要があります。
日本語しか話せないAさんと英語しか話せないBさんとでは会話が成立しないことと同じことで、プロトコルが異なると通信できません。
ずいぶんあっさりしてますが、説明はこんなところで。詳しく知りたい方はプロトコル( IT用語辞典より )参照。
インターネットで利用される標準プロトコル。
信頼性は高いが転送速度が低いという特徴があります。
ネットゲームではほとんどの場合 TCP を使用して設計されているのではないでしょうか。
Transmission Control Protocol( Wikipediaより )参照。
インターネットで利用される標準プロトコル。
信頼性は低いが転送速度が高いという特徴があります。
ストリーミング配信では UDP が使用されています。
User Datagram Protocol( Wikipediaより )参照。
クライアントと呼ばれるコンピューターがサーバーと呼ばれるコンピューターに対してサービスを依頼するようなネットワーク形態。
クライアントサーバモデル( Wikipediaより )参照。
専用のサーバーを使うことなく、接続されたコンピューター同士がコミュニケーションするネットワーク形態。通信を行うコンピュータ同士が、互いにクライアントでありサーバーとなります。
Peer to Peer( Wikipediaより )参照。
インターネットやイントラネットなどのIPネットワークに接続されたコンピュータや通信機器1台1台に割り振られた識別番号。
1台のコンピュータが複数のIPアドレスを所有する場合があります。
コンピュータのIPアドレスを調べるにはコマンドプロンプト上で「ipconfig」コマンドを実行することで調べられます。
Windows 7 での表示内容
IPアドレス( Wikipediaより )参照。
現在広く普及しているインターネットプロトコル。コンピュータの普及により、IPアドレス資源の枯渇が問題となっています。
IPv4( Wikipediaより )参照。
IPアドレス資源の枯渇が心配される現行のIPv4をベースに、管理できるアドレス空間の増大、セキュリティ機能の追加などの改良を施した次世代インターネットプロトコル。
当サイトではIPv6のサンプルは作成しない予定。
IPv6( Wikipediaより )参照。
1台のコンピュータ上で、通信するプログラムが複数実行されている場合があります。
その場合、そのコンピュータのどのプログラムに対して電文送信を行うかを決定するための番号です。
一般的なサービスが使用するポート番号は IANA (Internet Assigned Numbers Authority) が定義しています。
PORT NUMBERSを参照してください。
IANA の一覧に記載されていない、1024 〜 65535 の範囲のポート番号を使用できます。
ただし、上記の範囲内であっても既に他のプログラムが使用しているポート番号を割り当てることはできません。
使用中のポート番号一覧はコマンドプロンプト上で「netstat -a -n」コマンドを実行することで確認できます。
Windows 7 での表示内容
ポート番号( Wikipediaより )参照。
以上、こんなところかな。難しいネットワークに関する解説をこれだけの説明で済ますという、かなり無茶なことをやってますが、ネットワーク系の書籍を熟読したり、
Net検索などできちんと勉強することを勧めします。といいつつきちんと勉強してない筆者。これ大丈夫かな。
Top Next