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

SDLNet_TCP_Open

TCPsocket SDLNet_TCP_Open(IPaddress *ip)

ip
解決されたIPアドレスとポート番号を持つIPaddressへのポインタ

TCPでipのホストのポート番号に接続する. ホストがINADDR_ANYでポート番号のみ使われて, かつソケットが生成された場合, TCPで接続された後に使えるようになる.

戻り値: 成功のとき, つまり接続がESTABLISHEDのとき, またはTCP接続を正常に待っているとき, 利用可能なTCPsocket. ソケットを生成できなかった, またはipのホストと/またはポート番号に接続できなかった場合など失敗のときNULL

サンプルコード

// TCPでlocalhostのポート9999に接続する (クライアント)
IPaddress ip;
TCPsocket tcpsock;

if(SDLNet_ResolveHost(&ip,"localhost",9999)==-1) {
    printf("SDLNet_ResolveHost: %s\n", SDLNet_GetError());
    exit(1);
}

tcpsock=SDLNet_TCP_Open(&ip);
if(!tcpsock) {
    printf("SDLNet_TCP_Open: %s\n", SDLNet_GetError());
    exit(2);
}

// ポート9999でLISTENするTCPソケットを生成する (サーバ)
IPaddress ip;
TCPsocket tcpsock;

if(SDLNet_ResolveHost(&ip,NULL,9999)==-1) {
    printf("SDLNet_ResolveHost: %s\n", SDLNet_GetError());
    exit(1);
}

tcpsock=SDLNet_TCP_Open(&ip);
if(!tcpsock) {
    printf("SDLNet_TCP_Open: %s\n", SDLNet_GetError());
    exit(2);
}

参照

SDLNet_TCP_Accept, SDLNet_TCP_Close, IPaddress, TCPsocket

原文へのリンク

3.3.1 SDLNet_TCP_Open