Lyの日常

主が楽しくプログラムをカキカキするブログ

C++ネットワークライブラリを作成した件について

どうも
オンラインゲーム作ろうとして
ネットワークを勉強し始めて
泥沼にハマった僕です

プロトコル

ネットワークを通じてデータの送受信に
決められたプロトコル(TCP, UDP)が存在します

TCP

は、データの届く順番を守ったり
データが届いていない際は再送したりと
保守性のあるプロトコルです

UDP

は、TCPとは真反対で
データの届く順番を保証せず
データが壊れてもお構いなしのプロトコルです

しかし、保守性のない分TCPより速度が出ます

ゲームにおいて

TCPはデータの保守性から
チャットやアイテムなどのデータのやり取りに使われます

UDPは速度が出るので
FPSなどのリアルタイム性を求めるゲームなどで、位置情報のやり取りに使われます

作成したライブラリを置いてみる

既存のライブラリがクロスプラットフォームじゃなかったり
何かと使い勝手が悪かったので自分でつくってみました

TCPライブラリ
github.com


UDPライブラリ
github.com

(:3

上のライブラリでローカル上であればすんなり通信ができる
でも家庭にはルーターという魔物が存在して
そいつのせいでインターネットを介した通信になると途端に難易度が上がる
そのことについては後日記事にします、ω、