目次 - SDL_net - API(機能別) - TCPソケット - SDLNet_TCP_Recv

SDLNet_TCP_Recv

サーバでないソケットからデータを受信する

構文

int SDLNet_TCP_Recv(TCPsocket sock, void *data, int maxlen)

引数

sockデータを受信するソケット
data受信データの書き込み先ポインタ
maxlen`data`に書き込み可能な最大バイト数

戻り値

受信したバイト数を戻す. この値は`maxlen`以下である.

詳細

`sock'はSDLNet_TCP_Open()でアドレスを指定して生成した, またはSDLNet_TCP_Accept()で生成したものでなければならない.

非サーバソケット`sock`から最大で`maxlen`バイトを受信し, `data`が示すバッファへのポインタに書き込む.

この関数は実際に受信したデータのサイズを戻す. 戻り値が0以下の場合, 相手が接続を切ったか, 不明なソケットエラーが発生した.

この関数はソケットが新しいデータを見つけた瞬間に戻すことに注意すること. パケットがネットワークからゆっくりと来る場合, データはあなたの予想よりも少なくなる可能性がある.

この関数はブロックする. ブロックを避けたいならば, DLNet_CheckSockets()で関数を呼ぶ前にデータの有無を知ることができる.

バージョン

SDL_net 2.0.0以降

関連項目(関数)

SDLNet_TCP_Send
SDLNet_CheckSockets

SDL Wikiへのリンク

SDL_net/SDLNet_TCP_Recv