Support IPv6 in snapserver

This commit is contained in:
Mike Walters 2017-09-26 16:04:46 +01:00 committed by Johannes Pohl
parent b58ecfdcf1
commit 5f06f70562
2 changed files with 16 additions and 2 deletions

View file

@ -129,7 +129,14 @@ void ControlServer::handleAccept(socket_ptr socket)
void ControlServer::start()
{
acceptor_ = make_shared<tcp::acceptor>(*io_service_, tcp::endpoint(tcp::v4(), port_));
asio::ip::address address = asio::ip::address::from_string("::");
tcp::endpoint endpoint(address, port_);
acceptor_ = make_shared<tcp::acceptor>(*io_service_, endpoint);
if (endpoint.protocol() == tcp::v6())
{
error_code ec;
acceptor_->set_option(asio::ip::v6_only(false), ec);
}
startAccept();
}