Beispiel #1
0
static void UpdateEndpoint( IpEndpointName& dest, const IpEndpointName& src,
        const char *userName, const char *whichEndpoint )
{
    if( dest != src ){

		char endpointString[ IpEndpointName::ADDRESS_AND_PORT_STRING_LENGTH ];
		src.AddressAndPortAsString( endpointString );

        Log() << "updating " << whichEndpoint << " endpoint for user '"
                << userName << "' to " << endpointString << "." << std::endl;

        dest = src;
    }
}
    void Bind( const IpEndpointName& localEndpoint )
    {
        struct sockaddr_in bindSockAddr;
        SockaddrFromIpEndpointName( bindSockAddr, localEndpoint );
        {
            IpEndpointName temp = IpEndpointNameFromSockaddr(bindSockAddr);
            char address[30];
            temp.AddressAndPortAsString(address);
        }
        if (bind(socket_, (struct sockaddr *)&bindSockAddr, sizeof(bindSockAddr)) < 0) {
            throw std::runtime_error("unable to bind udp socket\n");
        }

        isBound_ = true;
    }