目次 - SDL_net - API(機能別) - UDPパケット - SDLNet_ResizePacket

SDLNet_ResizePacket

UDPパケットのペイロードを再確保する

構文

int SDLNet_ResizePacket(UDPpacket *packet, int newsize)

引数

packetサイズを変更するUDPパケット
sizeパケットのペイロードの最大バイト数

戻り値

新しいペイロードのサイズを戻す. システムのメモリが足りない場合, 呼び出し前とサイズが変わらない.

詳細

この関数は既に存在するパケットのペイロードサイズを少なくとも`newsize`バイトにする.

パケットを使い終えたならば, SDLNet_FreePacket()で解放できる. パケットは複数回再利用できるので, 送信するたびに新しく確保する必要はない.

メモリの確保に失敗した場合, この関数は既に存在するバッファをそのままにして元のバッファサイズを戻すので注意すること. 戻り値はエラー値ではなく, パケットは前のままである.

**注意**: サイズを変更すると, ペイロードを大きくした場合でも小さくした場合でも元のパケットのデータは失われる. SDL_netは既存のデータをreallocするのではないためである.

バージョン

SDL_net 2.0.0以降

関連項目(関数)

SDLNet_AllocPacket
SDLNet_FreePacket

SDL Wikiへのリンク

SDL2_net/SDLNet_ResizePacket