目次 - SDL_net 3.0 - NET_GetStreamSocketPendingWrites

NET_GetStreamSocketPendingWrites

ストリームソケットの未送信のバイト数を得る

ヘッダ

SDL3_net/SDL_net.h

構文

int NET_GetStreamSocketPendingWrites(NET_StreamSocket *sock);

引数

NET_StreamSocket *sock問い合わせるストリームソケット

戻り値

(int) 未送信のバイト数を戻す. 失敗のとき-1を戻す. SDL_GetError()を呼んで詳細を知ることができる.

詳細

NET_WriteToStreamSocket()は即座に全てのデータを送れなかったとき, 後で送るためにキューに入れる. アプリケーションはこの関数でまだキューの中にあるデータのバイト数を知ることができる.

ライブラリは残りバイト数を報告する前にキューのデータを送ろうとするが, そのためにブロックはしない.

接続に失敗すると(リモート側の切断や, 様々な種類のネットワーク障害の発生により), この関数は-1を戻して失敗を報告する. ストリームソケットが失敗を報告するのは回復不能な場合のみであるため, 一度ソケットが失敗すると使用することはできないとみなし, NET_DestroyStreamSocket()で破棄する必要がある.

スレッドセーフ

同じソケットを複数のスレッドから同期を行わずに使用してはならない. しかし, 異なるスレッドから別々のソケットに同時にアクセスすることは問題ない.

バージョン

SDL_net 3.0.0以降

関連項目

SDL Wikiへのリンク

SDL3_net/NET_GetStreamSocketPendingWrites