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

SDLNet_UDP_RecvV

UDPソケットから複数のパケットを受信する

構文

int SDLNet_UDP_RecvV(UDPsocket sock, UDPpacket **packets)

引数

sockパケットを受信するUDPソケット
packetsNULL終端のパケット配列

戻り値

ネットワークから受信したパケットの数を戻す. エラーのとき-1を戻す. 利用可能なパケットがないとき0を戻す.

詳細

戻されたパケットには通信元アドレスと受信したチャネルが含まれている. バインドしたチャネルに到着しなかった場合, チャネルには-1がセットされている.

チャネルは上から下の順にチェックされる. そのため, アドレスが複数のチャネルにバインドされている場合, アドレスがバインドされた最も高いチャネルが戻される.

この関数はパケットの配列を入力とするが, SDLNet_AllocPacketV()で確保したものでなくてもよい. 自分で確保した個々のパケットの配列でも, 配列の末尾がNULLであればSDL_netが配列の終端を知ることができるため可能である. SDLNet_AllocPacketV()から戻された配列の終端にはNULLが書き込まれている.

この関数はブロックしない. そのためパケットがない場合があるが, これはエラーではない.

バージョン

SDL_net 2.0.0以降

関連項目(関数)

SDLNet_UDP_SendV
SDLNet_UDP_Recv

SDL Wikiへのリンク

SDL2_net/SDLNet_UDP_RecvV