目次 - 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