目次 - 3.関数 - 3.6ソケットセット - SDLNet_SocketReady

SDLNet_SocketReady

int SDLNet_SocketReady(sock)

sock
ソケットが活動中かチェックする. この関数はUDPsocketTCPsocketの両方で使える.

ソケットが活動中であるかチェックする. この関数はソケットセット内のソケットのみで使うべきである. そしてそのソケットセットはSDLNet_CheckSocketsの引数であった必要がある.

戻り値: 活動中のとき0以外, 活動中でないとき0

サンプルコード

// 無限に接続しようとする
//SDLNet_SocketSet set;
//TCPsocket serversock, client;
int numready;

numready=SDLNet_CheckSockets(set, 1000);
if(numready==-1) {
    printf("SDLNet_CheckSockets: %s\n", SDLNet_GetError());
    // ほとんどの場合これはシステムエラーである. perrorがユーザの助けになるだろう
    perror("SDLNet_CheckSockets");
}
else if(numready) {
    printf("%d のソケットが活動中!\n",numready);
    // SDLNet_SocketReadyで全てのソケットをチェックし活動中のものを扱う
    if(SDLNet_SocketReady(serversock)) {
        client=SDLNet_TCP_Accept(serversock);
        if(client) {
            // ここでclientを使う
        }
    }
}

参照

SDLNet_CheckSockets, SDLNet_AddSocket, SDLNet_DelSocket, SDLNet_AllocSocketSet, SDLNet_SocketSet, UDPsocket, TCPsocket

原文へのリンク

3.6.6 SDLNet_SocketReady