目次 - 3.関数 - 3.3TCPソケット - SDLNet_TCP_Accept

SDLNet_TCP_Accept

TCPsocket SDLNet_TCP_Accept(TCPsocket server)

server
SDLNet_TCP_Openで生成したサーバのTCPsocket

serverのTCPsocketで接続をACCEPTする. この関数を接続されたソケットで使ってはならない. サーバのソケットがリモートのホストと接続されることはない. 戻されるのはリモートホストと接続した新しいTCPsocketである. この呼び出しは待たない(ブロックしない). もしACCEPTする接続がない場合は, NULLのTCPsocketが戻されプログラムの実行は続く.

戻り値: 成功のとき, つまり接続がESTABLISHEDのとき, 利用可能なTCPsocket. ソケットを生成できなかった, または相手のホストとポートからの接続を完了できなかった場合など失敗のときNULL. 接続を確立している最中や, 何もACCEPTするものがない場合も同様にNULLを戻す.

サンプルコード

// 接続をserver_tcpsockにACCEPTする
TCPsocket new_tcpsock;

new_tcpsock=SDLNet_TCP_Accept(server_tcpsock);
if(!new_tcpsock) {
    printf("SDLNet_TCP_Accept: %s\n", SDLNet_GetError());
}
else {
    // ここでnew_tcpsockで通信する
}

参照

SDLNet_TCP_Open, SDLNet_TCP_GetPeerAddress, SDLNet_TCP_Close, TCPsocket

原文へのリンク

3.3.3 SDLNet_TCP_Accept