socket 服务端如何获取IP地址?

请问如何获取本机(服务端)的IP ?
C/C++ code

    local_sock_fd = socket(AF_INET,SOCK_STREAM,0);
    if(local_sock_fd == -1){
        perror("ERROR socket()");
        return -1;
    }

    /*initialize socket addr*/
    local_sock_addr.sin_family = AF_INET;
    local_sock_addr.sin_addr.s_addr = htonl(INADDR_ANY);
    local_sock_addr.sin_port = htons(LISTENING_PORT);

    int opt = 1;
    setsockopt(local_sock_fd,SOL_SOCKET,SO_REUSEADDR,&opt,sizeof(opt));

    if( bind(local_sock_fd,(struct sockaddr*)(&local_sock_addr),sizeof(struct sockaddr)) == -1){
        perror("ERROR bind()");
        return -1;
    }

作者: dos5gw   发布时间: 2011-03-16

还有,如果主机有多块网卡,调用bind()之后,如何判断local_sock_fd绑定的是哪块?

作者: dos5gw   发布时间: 2011-03-16

getsockname()

作者: justkk   发布时间: 2011-03-16