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

# SDLNet_CheckSockets

`int SDLNet_CheckSockets(SDLNet_SocketSet set, Uint32 timeout)`

set
  チェックするソケットセット
timeout
  待ち時間(ミリ秒). 0のとき待たない. -1は49日(おそらく)以上待つ!

ソケットセット内の全てのソケットが活動中かチェックする. 0でないtimeoutを渡したならば, この関数は活動を待ち, 活動がなければtimeoutミリ秒経過するのを待つ.

メモ: 「活動中」には切断中や他のエラーも含まれる. これらは読み込み/書き込みの失敗でわかる.

戻り値: 活動中のソケットの数. 失敗のとき-1. このとき意味のあるエラーメッセージは得られない. ソケットセットが空(チェックすべきものがない)のときも-1

## サンプルコード

`

    // 1秒間ソケットの活動をチェックする
    //SDLNet_SocketSet set;
    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でチェックし, 活動中のものを数える
    }

`

## 参照

SDLNet_SocketReady, SDLNet_AddSocket, SDLNet_DelSocket, SDLNet_AllocSocketSet, SDLNet_SocketSet, UDPsocket, TCPsocket

## 原文へのリンク

3.6.5 SDLNet_CheckSockets