|
|
|
@ -423,18 +423,18 @@ namespace llarp
|
|
|
|
|
bool
|
|
|
|
|
Start(const std::string& addr)
|
|
|
|
|
{
|
|
|
|
|
uint16_t port = 0;
|
|
|
|
|
sockaddr_in saddr;
|
|
|
|
|
saddr.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
|
|
|
|
|
saddr.sin_family = AF_INET;
|
|
|
|
|
saddr.sin_port = 0;
|
|
|
|
|
|
|
|
|
|
auto idx = addr.find_first_of(':');
|
|
|
|
|
Addr netaddr;
|
|
|
|
|
if(idx != std::string::npos)
|
|
|
|
|
{
|
|
|
|
|
port = std::stoi(addr.substr(1 + idx));
|
|
|
|
|
netaddr = Addr(addr.substr(0, idx));
|
|
|
|
|
Addr netaddr{addr.substr(0, idx), addr.substr(1 + idx)};
|
|
|
|
|
saddr.sin_addr.s_addr = netaddr.ton();
|
|
|
|
|
saddr.sin_port = htons(netaddr.port());
|
|
|
|
|
}
|
|
|
|
|
sockaddr_in saddr;
|
|
|
|
|
saddr.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
|
|
|
|
|
saddr.sin_family = AF_INET;
|
|
|
|
|
saddr.sin_port = htons(port);
|
|
|
|
|
return _handler.ServeAsync(router->netloop(), router->logic(),
|
|
|
|
|
(const sockaddr*)&saddr);
|
|
|
|
|
}
|
|
|
|
|