Getting error address already in use in socket programming

Hi ,

I am getting error in bind function of "Address already in use" even also i have used the setsockopt function in that case .

Please help

   int                     ret = 0;
    int                     listenSock = 0;
    struct sockaddr_in      myAddr;
    struct sockaddr_in      destAddr;
    int                     destAddrLen = sizeof( struct sockaddr_in );
     int                     yes = 1;

     retVal = socket( AF_INET, SOCK_STREAM, 0 );
    if ( -1 == ret )
    {
        perror( "Error from socket system call " );

        return ret;                 /**** RETURN POINT ****/
    }
    listenSockfd = ret;

    retVal = setsockopt( listenSockfd, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof( int ) );
    if ( -1 == ret )
    {
        perror( "Error from setsockopt system call " );
    } else {

        myAddr.sin_family           = AF_INET;
        myAddr.sin_port             = htons( 2014 );
        myAddr.sin_addr.s_addr      = htonl( INADDR_ANY );
        memset( myAddr.sin_zero, 0, 8 * sizeof( char ) );

        retVal = bind( listenSockfd, (struct sockaddr *)&myAddr, sizeof( struct sockaddr ) );
        if ( 0 != ret )
        {
            perror( "Error from bind system call " );
        }
    }

Try netstat -an | grep 2014 and see whatever's hogging that address. Just because you're willing to share with it doesn't mean it's willing to share with you...