]> git.tdb.fi Git - libs/net.git/blobdiff - source/server.cpp
Change listen address construction
[libs/net.git] / source / server.cpp
index 677bc6c43b5e52fc7048594177b7d3d3bad005b4..9205cc1096383caa797f1af237ec9e02e1b07724 100644 (file)
@@ -1,7 +1,9 @@
 #include <exception>
 #include <msp/core/refptr.h>
 #include <msp/net/inet.h>
+#include <msp/net/resolve.h>
 #include <msp/net/streamsocket.h>
+#include <msp/strings/format.h>
 #include "request.h"
 #include "response.h"
 #include "server.h"
@@ -16,7 +18,8 @@ Server::Server(unsigned port):
        event_disp(0)
 {
        sock.signal_data_available.connect(sigc::mem_fun(this, &Server::data_available));
-       sock.listen(Net::InetAddr(0, port), 8);
+       RefPtr<Net::SockAddr> addr = Net::resolve("*", format("%d", port));
+       sock.listen(*addr, 8);
 }
 
 unsigned Server::get_port() const
@@ -160,7 +163,8 @@ Server::Client &Server::get_client_by_response(Response &resp)
                if(i->response==&resp)
                        return *i;
 
-       throw InvalidParameterValue("Response does not belong to any client");
+       // XXX Do this differently
+       throw invalid_argument("Response does not belong to any client");
 }