目次 - 3.関数 - 3.6ソケット設定 - SDLNet_AddSocket

SDLNet_AddSocket

int SDLNet_AddSocket(SDLNet_SocketSet set, SDLNet_GenericSocket sock)
int SDLNet_TCP_AddSocket(SDLNet_SocketSet set, TCPsocket sock)
int SDLNet_UDP_AddSocket(SDLNet_SocketSet set, UDPsocket sock)

set
ソケットを追加するソケットセット
sock
setに追加するソケット

ソケットを監視するためにソケットセットに追加する. TCPとUDPソケットは適切なマクロ(例えばTCPソケットならばSDLNet_TCP_AddSocket)を使って追加する必要がある. 汎用ソケット関数はTCPとUDPマクロを呼んでいる. TCPとUDPの両方を同じソケットセットに追加できる. TCPクライアントとサーバも同じソケットセットに共存できる. 既に開いたものであれば, ソケットセット内のソケットには制約はない.

戻り値: 設定に成功したソケットの数. 失敗のとき-1

サンプルコード

// 2つのソケットをソケットセットに加える
//SDLNet_SocketSet set;
//UDPsocket udpsock;
//TCPsocket tcpsock;
int numused;

numused=SDLNet_UDP_AddSocket(set,udpsock);
if(numused==-1) {
    printf("SDLNet_AddSocket: %s\n", SDLNet_GetError());
    // ソケットセットをもっと大きくしてやり直す必要があるかもしれない...
}
numused=SDLNet_TCP_AddSocket(set,tcpsock);
if(numused==-1) {
    printf("SDLNet_AddSocket: %s\n", SDLNet_GetError());
    // ソケットセットをもっと大きくしてやり直す必要があるかもしれない...
}

参照

SDLNet_AllocSocketSet, SDLNet_DelSocket, SDLNet_CheckSockets, SDLNet_SocketSet, UDPsocket, TCPsocket

原文へのリンク

3.6.3 SDLNet_AddSocket