オンラむンゲヌム開発のためのsocketプログラミング

この講矩では、オンラむンゲヌム開発に必芁なTCP/IPネットワヌクプログラミングの栞心を、実務を重芖しお孊びたす。 ゜ケットの基本原理から、クラむアント・サヌバヌ構造の蚭蚈、自䜜のネットワヌクラむブラリを甚いたゲヌムフレヌムワヌクの実装たで、段階的に孊習したす。 扱う内容 ネットワヌクの基本抂念ずTCP/IPの動䜜方匏 Socket APIを利甚したTCPプログラミング パケットプロトコルの蚭蚈および転送構造の実装 クラむアントサヌバヌ型ゲヌムフレヌムワヌクの開発 実際のオンラむンゲヌム開発に必芁な最適化および実務䞊のヒント 泚意事項 Windows䞊でVisual Studioを䜿甚しお講矩を進めたす。暙準的なbsd socket APIを䜿甚したすが、unixç³»OSずは若干の違いがありたす。 IOCPずOverlapped I/Oは扱いたせん。

難易床 䞭玚以䞊

受講期間 無制限

winsock
winsock
game-programming
game-programming
bsd-sockets
bsd-sockets
tcpip
tcpip
windows-programming
windows-programming
winsock
winsock
game-programming
game-programming
bsd-sockets
bsd-sockets
tcpip
tcpip
windows-programming
windows-programming

孊習した受講者のレビュヌ

5.0

5.0

영환

64% 受講埌に䜜成

ずおも有益な講矩です。 講矩を聎いた埌、䜕もない状態からコヌドを䞀぀䞀぀打ち蟌んでみお、よく分からない郚分は講矩をもう䞀床芋ながら埩習しおいたすが、ずおも圹に立っおいたす。 ありがずうございたす。

5.0

wolfclaw4

64% 受講埌に䜜成

就職掻動䞭の方なら、ぜひ聞いおほしいです。

5.0

아데니아

100% 受講埌に䜜成

講矩資料が充実しお提䟛されおおり、より深く理解するのに圹立ちたす。

受講埌に埗られるこず

  • TCP/IPの理解ず応甚

  • ゜ケットプログラミング

  • ネットワヌクプログラミング

  • オンラむンゲヌムサヌバヌプログラミング

自分で䜜ったゲヌムサヌバヌにプレむダヌが接続する様子を想像したこずはありたすかさあ、オンラむンゲヌムのサヌバヌずクラむアントを自分で䜜っおみたしょう。

マルチプレむゲヌムや、倧芏暡なプレむダヌが接続するMMOゲヌムがどのように動䜜するのか、疑問に思ったこずはありたせんか自䜜ゲヌムにネットワヌク機胜を远加しお、オンラむンモヌドに察応したいず思ったこずはありたせんか
そうであれば、本講矩がお圹に立ちたす。
むンタヌネット䞊で単玔にデヌタを送受信するコヌドを曞くのであれば、socket APIを䜿甚しお簡単に実装できたす。しかし、単玔にデヌタを送受信するコヌドは、ゲヌム開発におけるネットワヌクプログラミングずはやや異なりたす。本講座では、単玔なAPIの䜿甚にずどたらず、実際に䜿甚できるネットワヌクコヌドを䜜成し、それをクラむアントサヌバヌモデルのオンラむンゲヌムに適甚する方法を説明したす。

このような内容を孊びたす

1. ネットワヌクの基本 - むンタヌネットの構成

OSI 7階局ずTCP/IP 4階局に぀いお玹介し、これらの抂念がむンタヌネットにどのように組み蟌たれおいるかを説明したす。

2. ネットワヌクの基瀎 - TCP/IP

むンタヌネットを構成する䞻芁なプロトコルであるTCP/IPの技術的な動䜜原理を孊びたす。TCPヘッダヌずIPヘッダヌの構造、TCPのSEQ番号ずACK応答システム、3りェむハンドシェむクによる接続確立、4りェむハンドシェむクによる接続終了に぀いお説明したす。

3. Winsockプログラミングの抂芁

WindowsにおけるSocket API実装であるWinsockを玹介したす。
WinsockずUnixç³»Socket APIの違いを説明したす。Winsockプログラミングで䞻に䜿甚する関数ず機胜をプレビュヌしたす。

4. 接続listen/accept/connect

接続芁求を受けるAPIず接続芁求を行うAPIを䜿甚しお、最初のクラむアントずサヌバヌのコヌドを䜜成したす。


5. send / recv

send()関数ずrecv()関数を䜿甚しお、実際にデヌタを送受信しおみたす。この時点ではblocking mode socketに぀いおのみ扱いたす。

6. non-blocking socket

blocking mode socketは䜿いやすいものの、リアルタむムゲヌムで䜿甚するには無理がありたす。non-blocking socketを䜿甚しお、実際のゲヌムプログラミングに利甚できるネットワヌクコヌドを䜜成する方法を説明したす。

7. Send-Buffer / Recv-Buffer

䟋倖状況に察凊するためには、socketの基本機胜だけに䟝存するこずはできたせん。TCPの特性䞊発生し埗る䟋倖状況に備え、Recv-BufferずSend-Bufferを実装しおみたす。これは本栌的なネットワヌクラむブラリ開発における栞心的な機胜です。

8. Network Libraryの蚭蚈ず実装

ゲヌムサヌバヌずクラむアントで共通しお䜿甚できるネットワヌクラむブラリを蚭蚈し、実際に実装しおみたす。単に socket api を利甚しお送受信する機胜を実装する段階から、実際の補品開発ぞず二段階以䞊ステップアップできたす。

9. Network Libraryのパッケヌゞング

コヌドをコピヌ&ペヌストするレベルを脱し、本圓のモゞュヌル化を実珟するには、バむナリレベルで分離する必芁がありたす。ネットワヌクラむブラリのコヌドをDLLずしお分離し、コンテンツレむダヌずネットワヌクレむダヌの境界を明確にする方法を玹介したす。これは実際の補品開発に倧いに圹立ちたす。

10. ネットワヌクゲヌムデモ

完党なゲヌムではありたせんが、オンラむンゲヌムを開発するための必須芁玠を実装しおみたす。前回の講矩で䜜成したネットワヌクラむブラリを䜿甚し、耇数のクラむアントがサヌバヌに接続しお移動凊理を同期する簡単なデモを䜜成したす。

11. パフォヌマンス向䞊のためのヒント

オンラむンゲヌムのネットワヌク垯域幅ずサヌバヌ機噚の性胜効率を高めるための技術を玹介したす。たた、UDPずTCPに関する誀解に぀いおも敎理したす。

受講前の泚意事項

実習環境

  • オペレヌティングシステムおよびバヌゞョンOSWindows 10/11

  • 䜿甚ツヌルVisual Studio 2022


孊習資料

  • PDF提䟛

  • 添付ファむルによる゜ヌスコヌドの提䟛

前提知識

  • 必須

    • C/C++

    • 基瀎的なWindowsプログラミング

  • 掚奚以䞋の講矩が圹立぀堎合がありたす。

泚意事項

  • Windows環境でwinsock APIを䜿甚しお講矩を進めたす。

  • Linuxを含むUNIX系でも䜿甚できる共通のsocket API技術を扱いたすが、実習環境はWindows + Visual Studio 2022です。

  • 暙準socket API以倖のOverlapped I/O、IOCP(I/O Completion Port)などの技術は扱いたせん。


こんな方に
おすすめです

孊習察象は
誰でしょう

  • ゲヌムサヌバヌクラむアントのネットワヌク構造を自ら実装したい開発者

  • TCP/IP、゜ケットなどネットワヌクの基幹技術を実践的に孊びたい方

前提知識、
必芁でしょうか

  • C/C++

  • Windowsプログラミング

こんにちは
megayuchiです。

むンフラン認蚌

キャリア認蚌

3,441

受講生

117

受講レビュヌ

25

回答

4.9

講座評䟡

11

講座

プログラマヌ

C++,x86/x64 ASM, DirectX9/11/12, Metal, OpenGL, CUDA, win32, winsock/bsd socket

 

むンフロン講矩

D3D12プログラミング基瀎線 - https://inf.run/7gJhS

D3D12プログラミング基瀎プラス - https://inf.run/itHDW

DirectX Raytracing プログラミング - https://inf.run/cQqx7

Windows System プログラミング - https://inf.run/AwfCv

Windowsデバッグのヒント - https://inf.run/zL7E4

 

ブログ : https://megayuchi.com

Youtube : https://youtube.com/megayuchi

LinkedIn : https://www.linkedin.com/in/megayuchi/

 

 

もっず芋る

カリキュラム

党䜓

11件 ∙ (11時間 56分)

講座資料こうぎしりょう:

授業資料
講座掲茉日: 
最終曎新日: 

受講レビュヌ

党䜓

8ä»¶

5.0

8件の受講レビュヌ

  • wolfclaw43527님의 프로필 읎믞지
    wolfclaw43527

    受講レビュヌ 1

    ∙

    平均評䟡 5.0

    5

    64% 受講埌に䜜成

    就職掻動䞭の方なら、ぜひ聞いおほしいです。

    • chs931143588님의 프로필 읎믞지
      chs931143588

      受講レビュヌ 4

      ∙

      平均評䟡 5.0

      5

      100% 受講埌に䜜成

      講矩資料が充実しお提䟛されおおり、より深く理解するのに圹立ちたす。

      • thekim122050님의 프로필 읎믞지
        thekim122050

        受講レビュヌ 7

        ∙

        平均評䟡 4.4

        5

        64% 受講埌に䜜成

        ずおも有益な講矩です。 講矩を聎いた埌、䜕もない状態からコヌドを䞀぀䞀぀打ち蟌んでみお、よく分からない郚分は講矩をもう䞀床芋ながら埩習しおいたすが、ずおも圹に立っおいたす。 ありがずうございたす。

        • cov10135743님의 프로필 읎믞지
          cov10135743

          受講レビュヌ 9

          ∙

          平均評䟡 5.0

          5

          36% 受講埌に䜜成

          • alstjr123qwe3562님의 프로필 읎믞지
            alstjr123qwe3562

            受講レビュヌ 1

            ∙

            平均評䟡 5.0

            5

            64% 受講埌に䜜成

            megayuchiの他の講座

            知識共有者の他の講座を芋おみたしょう

            䌌おいる講座

            同じ分野の他の講座を芋おみたしょう

            ï¿¥24,608