目次 - 3.関数 - 3.4UDPソケット - SDLNet_UDP_GetPeerAddress

SDLNet_UDP_GetPeerAddress

IPaddress *SDLNet_UDP_GetPeerAddress(UDPsocket sock, int channel)

sock
チャネルにアドレスが割り当てられたUDPsocket
channel
ソケットから最初のアドレスを得るチャネル. -1のとき, ソケットがバインドするローカルコンピュータのポート番号を得られる.

チャネルに割り当てられたアドレスを得る. 最初のアドレスのみ戻される. channelが-1のとき, ソケットがバインドするローカルコンピュータのポート番号を戻す. これはソケットを特定の番号で開いたときのみ意味がある. 戻されたIPaddressを解放してはならない.

戻り値: 成功のときIPaddressへのポインタ. バインドされていないチャネルなど失敗のときNULL

サンプルコード

// UDPsocketのチャネル0にバインドされたアドレスを得る
//UDPsocket udpsock;
IPaddress *address;

address=SDLNet_UDP_GetPeerAddress(udpsock, 0);
if(!address) {
    printf("SDLNet_UDP_GetPeerAddress: %s¥n", SDLNet_GetError());
    // ここでアドレスを得られなかった場合の処理を行う
}
else {
    // ここでaddress->hostとaddress->portの表示などをする
}

参照

SDLNet_UDP_Bind, SDLNet_UDP_Unbind, IPaddress, UDPsocket

原文へのリンク

3.4.5 SDLNet_UDP_GetPeerAddress