int TcpSocket::Bind(InetAddress& addr)
{
    bool ret = addr.IsValid();
    if(false == ret)
    {
        FILE_LOG(logERROR)<<__FILE__<<" "<<__LINE__<<" address is invalid";
        return -1;
    }

    if(-1 == ::bind(sockfd_, (SA*)(&addr.GetAddr()), sizeof(addr.GetAddr())))
    {
        FILE_LOG(logERROR)<<__FILE__<<" "<<__LINE__<<" bind address error";
	return -1;       
    }

    return 0;
}