mirror of
https://github.com/pocoproject/poco.git
synced 2025-11-02 05:46:22 +01:00
@@ -53,6 +53,7 @@ POCO_DECLARE_EXCEPTION(Net_API, NTPException, NetException)
|
||||
POCO_DECLARE_EXCEPTION(Net_API, HTMLFormException, NetException)
|
||||
POCO_DECLARE_EXCEPTION(Net_API, WebSocketException, NetException)
|
||||
POCO_DECLARE_EXCEPTION(Net_API, UnsupportedFamilyException, NetException)
|
||||
POCO_DECLARE_EXCEPTION(Net_API, AddressFamilyMismatchException, NetException)
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
@@ -58,6 +58,10 @@ public:
|
||||
SocketAddress();
|
||||
/// Creates a wildcard (all zero) IPv4 SocketAddress.
|
||||
|
||||
explicit SocketAddress(Family family);
|
||||
/// Creates a SocketAddress with unspecified (wildcard) IP address
|
||||
/// of the given family.
|
||||
|
||||
SocketAddress(const IPAddress& hostAddress, Poco::UInt16 portNumber);
|
||||
/// Creates a SocketAddress from an IP address and given port number.
|
||||
|
||||
@@ -65,12 +69,27 @@ public:
|
||||
/// Creates a SocketAddress with unspecified (wildcard) IP address
|
||||
/// and given port number.
|
||||
|
||||
SocketAddress(Family family, Poco::UInt16 port);
|
||||
/// Creates a SocketAddress with unspecified (wildcard) IP address
|
||||
/// of the given family, and given port number.
|
||||
|
||||
SocketAddress(const std::string& hostAddress, Poco::UInt16 portNumber);
|
||||
/// Creates a SocketAddress from an IP address and given port number.
|
||||
///
|
||||
/// The IP address must either be a domain name, or it must
|
||||
/// be in dotted decimal (IPv4) or hex string (IPv6) format.
|
||||
|
||||
SocketAddress(Family family, const std::string& hostAddress, Poco::UInt16 portNumber);
|
||||
/// Creates a SocketAddress from an IP address and given port number.
|
||||
///
|
||||
/// The IP address must either be a domain name, or it must
|
||||
/// be in dotted decimal (IPv4) or hex string (IPv6) format.
|
||||
///
|
||||
/// If a domain name is given in hostAddress, it is resolved and the address
|
||||
/// matching the given family is used. If no address matching the given family
|
||||
/// is found, or the IP address given in hostAddress does not match the given
|
||||
/// family, an AddressFamilyMismatchException is thrown.
|
||||
|
||||
SocketAddress(const std::string& hostAddress, const std::string& portNumber);
|
||||
/// Creates a SocketAddress from an IP address and the
|
||||
/// service name or port number.
|
||||
@@ -81,6 +100,21 @@ public:
|
||||
/// The given port must either be a decimal port number, or
|
||||
/// a service name.
|
||||
|
||||
SocketAddress(Family family, const std::string& hostAddress, const std::string& portNumber);
|
||||
/// Creates a SocketAddress from an IP address and the
|
||||
/// service name or port number.
|
||||
///
|
||||
/// The IP address must either be a domain name, or it must
|
||||
/// be in dotted decimal (IPv4) or hex string (IPv6) format.
|
||||
///
|
||||
/// The given port must either be a decimal port number, or
|
||||
/// a service name.
|
||||
///
|
||||
/// If a domain name is given in hostAddress, it is resolved and the address
|
||||
/// matching the given family is used. If no address matching the given family
|
||||
/// is found, or the IP address given in hostAddress does not match the given
|
||||
/// family, an AddressFamilyMismatchException is thrown.
|
||||
|
||||
explicit SocketAddress(const std::string& hostAndPort);
|
||||
/// Creates a SocketAddress from an IP address or host name and the
|
||||
/// port number/service name. Host name/address and port number must
|
||||
@@ -156,6 +190,7 @@ public:
|
||||
protected:
|
||||
void init(const IPAddress& hostAddress, Poco::UInt16 portNumber);
|
||||
void init(const std::string& hostAddress, Poco::UInt16 portNumber);
|
||||
void init(Family family, const std::string& hostAddress, Poco::UInt16 portNumber);
|
||||
void init(Family family, const std::string& address);
|
||||
void init(const std::string& hostAndPort);
|
||||
Poco::UInt16 resolveService(const std::string& service);
|
||||
|
@@ -49,7 +49,8 @@ POCO_IMPLEMENT_EXCEPTION(ICMPException, NetException, "ICMP Exception")
|
||||
POCO_IMPLEMENT_EXCEPTION(NTPException, NetException, "NTP Exception")
|
||||
POCO_IMPLEMENT_EXCEPTION(HTMLFormException, NetException, "HTML Form Exception")
|
||||
POCO_IMPLEMENT_EXCEPTION(WebSocketException, NetException, "WebSocket Exception")
|
||||
POCO_IMPLEMENT_EXCEPTION(UnsupportedFamilyException, NetException, "Unknown or unsupported socket family.")
|
||||
POCO_IMPLEMENT_EXCEPTION(UnsupportedFamilyException, NetException, "Unknown or unsupported socket family")
|
||||
POCO_IMPLEMENT_EXCEPTION(AddressFamilyMismatchException, NetException, "Address family mismatch")
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
@@ -101,6 +101,7 @@ void ServerSocket::bind(Poco::UInt16 port, bool reuseAddress, bool reusePort)
|
||||
impl()->bind(address, reuseAddress, reusePort);
|
||||
}
|
||||
|
||||
|
||||
void ServerSocket::bind6(const SocketAddress& address, bool reuseAddress, bool ipV6Only)
|
||||
{
|
||||
impl()->bind6(address, reuseAddress, ipV6Only);
|
||||
@@ -112,6 +113,7 @@ void ServerSocket::bind6(const SocketAddress& address, bool reuseAddress, bool r
|
||||
impl()->bind6(address, reuseAddress, reusePort, ipV6Only);
|
||||
}
|
||||
|
||||
|
||||
void ServerSocket::bind6(Poco::UInt16 port, bool reuseAddress, bool ipV6Only)
|
||||
{
|
||||
#if defined(POCO_HAVE_IPv6)
|
||||
@@ -135,6 +137,7 @@ void ServerSocket::bind6(Poco::UInt16 port, bool reuseAddress, bool reusePort, b
|
||||
#endif // POCO_HAVE_IPv6
|
||||
}
|
||||
|
||||
|
||||
void ServerSocket::listen(int backlog)
|
||||
{
|
||||
impl()->listen(backlog);
|
||||
|
@@ -77,6 +77,12 @@ SocketAddress::SocketAddress()
|
||||
}
|
||||
|
||||
|
||||
SocketAddress::SocketAddress(Family fam)
|
||||
{
|
||||
init(IPAddress(fam), 0);
|
||||
}
|
||||
|
||||
|
||||
SocketAddress::SocketAddress(const IPAddress& hostAddress, Poco::UInt16 portNumber)
|
||||
{
|
||||
init(hostAddress, portNumber);
|
||||
@@ -89,21 +95,39 @@ SocketAddress::SocketAddress(Poco::UInt16 portNumber)
|
||||
}
|
||||
|
||||
|
||||
SocketAddress::SocketAddress(Family fam, Poco::UInt16 portNumber)
|
||||
{
|
||||
init(IPAddress(fam), portNumber);
|
||||
}
|
||||
|
||||
|
||||
SocketAddress::SocketAddress(const std::string& hostAddress, Poco::UInt16 portNumber)
|
||||
{
|
||||
init(hostAddress, portNumber);
|
||||
}
|
||||
|
||||
|
||||
SocketAddress::SocketAddress(Family fam, const std::string& hostAddress, Poco::UInt16 portNumber)
|
||||
{
|
||||
init(fam, hostAddress, portNumber);
|
||||
}
|
||||
|
||||
|
||||
SocketAddress::SocketAddress(const std::string& hostAddress, const std::string& portNumber)
|
||||
{
|
||||
init(hostAddress, resolveService(portNumber));
|
||||
}
|
||||
|
||||
|
||||
SocketAddress::SocketAddress(Family family, const std::string& addr)
|
||||
SocketAddress::SocketAddress(Family fam, const std::string& hostAddress, const std::string& portNumber)
|
||||
{
|
||||
init(family, addr);
|
||||
init(fam, hostAddress, resolveService(portNumber));
|
||||
}
|
||||
|
||||
|
||||
SocketAddress::SocketAddress(Family fam, const std::string& addr)
|
||||
{
|
||||
init(fam, addr);
|
||||
}
|
||||
|
||||
|
||||
@@ -261,6 +285,35 @@ void SocketAddress::init(const std::string& hostAddress, Poco::UInt16 portNumber
|
||||
}
|
||||
|
||||
|
||||
void SocketAddress::init(Family fam, const std::string& hostAddress, Poco::UInt16 portNumber)
|
||||
{
|
||||
IPAddress ip;
|
||||
if (IPAddress::tryParse(hostAddress, ip))
|
||||
{
|
||||
if (ip.family() != fam) throw AddressFamilyMismatchException(hostAddress);
|
||||
init(ip, portNumber);
|
||||
}
|
||||
else
|
||||
{
|
||||
HostEntry he = DNS::hostByName(hostAddress);
|
||||
HostEntry::AddressList addresses = he.addresses();
|
||||
if (addresses.size() > 0)
|
||||
{
|
||||
for (HostEntry::AddressList::const_iterator it = addresses.begin(); it != addresses.end(); ++it)
|
||||
{
|
||||
if (it->family() == fam)
|
||||
{
|
||||
init(*it, portNumber);
|
||||
return;
|
||||
}
|
||||
}
|
||||
throw AddressFamilyMismatchException(hostAddress);
|
||||
}
|
||||
else throw HostNotFoundException("No address found for host", hostAddress);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void SocketAddress::init(Family fam, const std::string& address)
|
||||
{
|
||||
#if defined(POCO_OS_FAMILY_UNIX)
|
||||
@@ -271,8 +324,29 @@ void SocketAddress::init(Family fam, const std::string& address)
|
||||
else
|
||||
#endif
|
||||
{
|
||||
init(address);
|
||||
if (fam != family()) throw Poco::InvalidArgumentException("address does not fit family");
|
||||
std::string host;
|
||||
std::string port;
|
||||
std::string::const_iterator it = address.begin();
|
||||
std::string::const_iterator end = address.end();
|
||||
|
||||
if (*it == '[')
|
||||
{
|
||||
++it;
|
||||
while (it != end && *it != ']') host += *it++;
|
||||
if (it == end) throw InvalidArgumentException("Malformed IPv6 address");
|
||||
++it;
|
||||
}
|
||||
else
|
||||
{
|
||||
while (it != end && *it != ':') host += *it++;
|
||||
}
|
||||
if (it != end && *it == ':')
|
||||
{
|
||||
++it;
|
||||
while (it != end) port += *it++;
|
||||
}
|
||||
else throw InvalidArgumentException("Missing port number");
|
||||
init(fam, host, resolveService(port));
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -274,6 +274,7 @@ void WebSocketImpl::bind6(const SocketAddress& address, bool reuseAddress, bool
|
||||
throw Poco::InvalidAccessException("Cannot bind6() a WebSocketImpl");
|
||||
}
|
||||
|
||||
|
||||
void WebSocketImpl::listen(int backlog)
|
||||
{
|
||||
throw Poco::InvalidAccessException("Cannot listen() on a WebSocketImpl");
|
||||
|
@@ -39,20 +39,20 @@ DNSTest::~DNSTest()
|
||||
|
||||
void DNSTest::testHostByName()
|
||||
{
|
||||
HostEntry he1 = DNS::hostByName("aliastest.appinf.com");
|
||||
HostEntry he1 = DNS::hostByName("aliastest.pocoproject.org");
|
||||
// different systems report different canonical names, unfortunately.
|
||||
assert (he1.name() == "dnstest.appinf.com" || he1.name() == "aliastest.appinf.com");
|
||||
assert (he1.name() == "dnstest.pocoproject.org" || he1.name() == "aliastest.pocoproject.org");
|
||||
#if !defined(POCO_HAVE_ADDRINFO)
|
||||
// getaddrinfo() does not report any aliases
|
||||
assert (!he1.aliases().empty());
|
||||
assert (he1.aliases()[0] == "aliastest.appinf.com");
|
||||
assert (he1.aliases()[0] == "aliastest.pocoproject.org");
|
||||
#endif
|
||||
assert (he1.addresses().size() >= 1);
|
||||
assert (he1.addresses()[0].toString() == "1.2.3.4");
|
||||
|
||||
try
|
||||
{
|
||||
HostEntry he1 = DNS::hostByName("nohost.appinf.com");
|
||||
HostEntry he1 = DNS::hostByName("nohost.pocoproject.org");
|
||||
fail("host not found - must throw");
|
||||
}
|
||||
catch (HostNotFoundException&)
|
||||
|
@@ -51,7 +51,7 @@ void DatagramSocketTest::testEcho()
|
||||
UDPEchoServer echoServer;
|
||||
DatagramSocket ss;
|
||||
char buffer[256];
|
||||
ss.connect(SocketAddress("localhost", echoServer.port()));
|
||||
ss.connect(SocketAddress("127.0.0.1", echoServer.port()));
|
||||
int n = ss.sendBytes("hello", 5);
|
||||
assert (n == 5);
|
||||
n = ss.receiveBytes(buffer, sizeof(buffer));
|
||||
@@ -63,9 +63,9 @@ void DatagramSocketTest::testEcho()
|
||||
|
||||
void DatagramSocketTest::testSendToReceiveFrom()
|
||||
{
|
||||
UDPEchoServer echoServer(SocketAddress("localhost", 0));
|
||||
UDPEchoServer echoServer(SocketAddress("127.0.0.1", 0));
|
||||
DatagramSocket ss(SocketAddress::IPv4);
|
||||
int n = ss.sendTo("hello", 5, SocketAddress("localhost", echoServer.port()));
|
||||
int n = ss.sendTo("hello", 5, SocketAddress("127.0.0.1", echoServer.port()));
|
||||
assert (n == 5);
|
||||
char buffer[256];
|
||||
SocketAddress sa;
|
||||
@@ -83,7 +83,7 @@ void DatagramSocketTest::testUnbound()
|
||||
UDPEchoServer echoServer;
|
||||
DatagramSocket ss;
|
||||
char buffer[256];
|
||||
ss.connect(SocketAddress("localhost", echoServer.port()));
|
||||
ss.connect(SocketAddress("127.0.0.1", echoServer.port()));
|
||||
int n = ss.sendBytes("hello", 5);
|
||||
assert (n == 5);
|
||||
n = ss.receiveBytes(buffer, sizeof(buffer));
|
||||
|
@@ -37,7 +37,7 @@ void DialogSocketTest::testDialogSocket()
|
||||
{
|
||||
EchoServer echoServer;
|
||||
DialogSocket ds;
|
||||
ds.connect(SocketAddress("localhost", echoServer.port()));
|
||||
ds.connect(SocketAddress("127.0.0.1", echoServer.port()));
|
||||
|
||||
ds.sendMessage("Hello, world!");
|
||||
std::string str;
|
||||
|
@@ -94,7 +94,7 @@ void FTPClientSessionTest::testLogin1()
|
||||
{
|
||||
DialogServer server;
|
||||
server.addResponse("220 localhost FTP ready");
|
||||
FTPClientSession session("localhost", server.port());
|
||||
FTPClientSession session("127.0.0.1", server.port());
|
||||
assert (session.isOpen());
|
||||
assert (!session.isLoggedIn());
|
||||
login(server, session);
|
||||
@@ -125,7 +125,7 @@ void FTPClientSessionTest::testLogin2()
|
||||
server.addResponse("230 Welcome");
|
||||
server.addResponse("200 Type set to I");
|
||||
Poco::UInt16 serverPort = server.port();
|
||||
FTPClientSession session("localhost", serverPort, "user", "password");
|
||||
FTPClientSession session("127.0.0.1", serverPort, "user", "password");
|
||||
assert (session.isOpen());
|
||||
assert (session.isLoggedIn());
|
||||
server.addResponse("221 Good Bye");
|
||||
@@ -139,7 +139,7 @@ void FTPClientSessionTest::testLogin2()
|
||||
server.addResponse("331 Password required");
|
||||
server.addResponse("230 Welcome");
|
||||
server.addResponse("200 Type set to I");
|
||||
session.open("localhost", serverPort, "user", "password");
|
||||
session.open("127.0.0.1", serverPort, "user", "password");
|
||||
assert (session.isOpen());
|
||||
assert (session.isLoggedIn());
|
||||
server.addResponse("221 Good Bye");
|
||||
@@ -159,7 +159,7 @@ void FTPClientSessionTest::testLogin3()
|
||||
FTPClientSession session;
|
||||
assert (!session.isOpen());
|
||||
assert (!session.isLoggedIn());
|
||||
session.open("localhost", server.port(), "user", "password");
|
||||
session.open("127.0.0.1", server.port(), "user", "password");
|
||||
server.addResponse("221 Good Bye");
|
||||
session.close();
|
||||
assert (!session.isOpen());
|
||||
@@ -172,7 +172,7 @@ void FTPClientSessionTest::testLoginFailed1()
|
||||
{
|
||||
DialogServer server;
|
||||
server.addResponse("421 localhost FTP not ready");
|
||||
FTPClientSession session("localhost", server.port());
|
||||
FTPClientSession session("127.0.0.1", server.port());
|
||||
try
|
||||
{
|
||||
session.login("user", "password");
|
||||
@@ -192,7 +192,7 @@ void FTPClientSessionTest::testLoginFailed2()
|
||||
server.addResponse("220 localhost FTP ready");
|
||||
server.addResponse("331 Password required");
|
||||
server.addResponse("530 Login incorrect");
|
||||
FTPClientSession session("localhost", server.port());
|
||||
FTPClientSession session("127.0.0.1", server.port());
|
||||
try
|
||||
{
|
||||
session.login("user", "password");
|
||||
@@ -213,7 +213,7 @@ void FTPClientSessionTest::testCommands()
|
||||
server.addResponse("331 Password required");
|
||||
server.addResponse("230 Welcome");
|
||||
server.addResponse("200 Type set to I");
|
||||
FTPClientSession session("localhost", server.port());
|
||||
FTPClientSession session("127.0.0.1", server.port());
|
||||
session.login("user", "password");
|
||||
std::string cmd = server.popCommand();
|
||||
assert (cmd == "USER user");
|
||||
@@ -342,7 +342,7 @@ void FTPClientSessionTest::testDownloadPORT()
|
||||
server.addResponse("331 Password required");
|
||||
server.addResponse("230 Welcome");
|
||||
server.addResponse("200 Type set to I");
|
||||
FTPClientSession session("localhost", server.port());
|
||||
FTPClientSession session("127.0.0.1", server.port());
|
||||
session.setPassive(false);
|
||||
session.login("user", "password");
|
||||
server.clearCommands();
|
||||
@@ -373,7 +373,7 @@ void FTPClientSessionTest::testDownloadPORT()
|
||||
cmd = server.popCommandWait();
|
||||
assert (cmd == "RETR test.txt");
|
||||
|
||||
SocketAddress sa("localhost", (Poco::UInt16) port);
|
||||
SocketAddress sa("127.0.0.1", (Poco::UInt16) port);
|
||||
DialogSocket dataSock;
|
||||
dataSock.connect(sa);
|
||||
|
||||
@@ -397,7 +397,7 @@ void FTPClientSessionTest::testDownloadEPRT()
|
||||
server.addResponse("331 Password required");
|
||||
server.addResponse("230 Welcome");
|
||||
server.addResponse("200 Type set to I");
|
||||
FTPClientSession session("localhost", server.port());
|
||||
FTPClientSession session("127.0.0.1", server.port());
|
||||
session.setPassive(false);
|
||||
session.login("user", "password");
|
||||
server.clearCommands();
|
||||
@@ -421,7 +421,7 @@ void FTPClientSessionTest::testDownloadEPRT()
|
||||
cmd = server.popCommandWait();
|
||||
assert (cmd == "RETR test.txt");
|
||||
|
||||
SocketAddress sa("localhost", (Poco::UInt16) port);
|
||||
SocketAddress sa("127.0.0.1", (Poco::UInt16) port);
|
||||
DialogSocket dataSock;
|
||||
dataSock.connect(sa);
|
||||
|
||||
@@ -445,7 +445,7 @@ void FTPClientSessionTest::testDownloadPASV()
|
||||
server.addResponse("331 Password required");
|
||||
server.addResponse("230 Welcome");
|
||||
server.addResponse("200 Type set to I");
|
||||
FTPClientSession session("localhost", server.port());
|
||||
FTPClientSession session("127.0.0.1", server.port());
|
||||
session.login("user", "password");
|
||||
server.clearCommands();
|
||||
|
||||
@@ -478,7 +478,7 @@ void FTPClientSessionTest::testDownloadEPSV()
|
||||
server.addResponse("331 Password required");
|
||||
server.addResponse("230 Welcome");
|
||||
server.addResponse("200 Type set to I");
|
||||
FTPClientSession session("localhost", server.port());
|
||||
FTPClientSession session("127.0.0.1", server.port());
|
||||
session.login("user", "password");
|
||||
server.clearCommands();
|
||||
|
||||
@@ -513,7 +513,7 @@ void FTPClientSessionTest::testUpload()
|
||||
server.addResponse("331 Password required");
|
||||
server.addResponse("230 Welcome");
|
||||
server.addResponse("200 Type set to I");
|
||||
FTPClientSession session("localhost", server.port());
|
||||
FTPClientSession session("127.0.0.1", server.port());
|
||||
session.login("user", "password");
|
||||
server.clearCommands();
|
||||
|
||||
@@ -546,7 +546,7 @@ void FTPClientSessionTest::testList()
|
||||
server.addResponse("331 Password required");
|
||||
server.addResponse("230 Welcome");
|
||||
server.addResponse("200 Type set to I");
|
||||
FTPClientSession session("localhost", server.port());
|
||||
FTPClientSession session("127.0.0.1", server.port());
|
||||
session.login("user", "password");
|
||||
server.clearCommands();
|
||||
|
||||
|
@@ -77,7 +77,7 @@ void FTPStreamFactoryTest::testDownload()
|
||||
|
||||
URI uri;
|
||||
uri.setScheme("ftp");
|
||||
uri.setHost("localhost");
|
||||
uri.setHost("127.0.0.1");
|
||||
uri.setPort(server.port());
|
||||
uri.setPath("/test.txt;type=a");
|
||||
FTPStreamFactory sf;
|
||||
@@ -115,7 +115,7 @@ void FTPStreamFactoryTest::testList()
|
||||
|
||||
URI uri;
|
||||
uri.setScheme("ftp");
|
||||
uri.setHost("localhost");
|
||||
uri.setHost("127.0.0.1");
|
||||
uri.setPort(server.port());
|
||||
uri.setPath("/usr/guest/data;type=d");
|
||||
FTPStreamFactory sf;
|
||||
@@ -152,7 +152,7 @@ void FTPStreamFactoryTest::testUserInfo()
|
||||
|
||||
URI uri;
|
||||
uri.setScheme("ftp");
|
||||
uri.setHost("localhost");
|
||||
uri.setHost("127.0.0.1");
|
||||
uri.setPort(server.port());
|
||||
uri.setPath("/test.txt;type=a");
|
||||
uri.setUserInfo("user:secret");
|
||||
@@ -191,7 +191,7 @@ void FTPStreamFactoryTest::testPasswordProvider()
|
||||
|
||||
URI uri;
|
||||
uri.setScheme("ftp");
|
||||
uri.setHost("localhost");
|
||||
uri.setHost("127.0.0.1");
|
||||
uri.setPort(server.port());
|
||||
uri.setPath("/test.txt;type=a");
|
||||
uri.setUserInfo("user");
|
||||
@@ -218,7 +218,7 @@ void FTPStreamFactoryTest::testMissingPasswordProvider()
|
||||
|
||||
URI uri;
|
||||
uri.setScheme("ftp");
|
||||
uri.setHost("localhost");
|
||||
uri.setHost("127.0.0.1");
|
||||
uri.setPort(server.port());
|
||||
uri.setPath("/test.txt;type=a");
|
||||
uri.setUserInfo("user");
|
||||
|
@@ -43,7 +43,7 @@ HTTPClientSessionTest::~HTTPClientSessionTest()
|
||||
void HTTPClientSessionTest::testGetSmall()
|
||||
{
|
||||
HTTPTestServer srv;
|
||||
HTTPClientSession s("localhost", srv.port());
|
||||
HTTPClientSession s("127.0.0.1", srv.port());
|
||||
HTTPRequest request(HTTPRequest::HTTP_GET, "/small");
|
||||
s.sendRequest(request);
|
||||
HTTPResponse response;
|
||||
@@ -59,7 +59,7 @@ void HTTPClientSessionTest::testGetSmall()
|
||||
void HTTPClientSessionTest::testGetLarge()
|
||||
{
|
||||
HTTPTestServer srv;
|
||||
HTTPClientSession s("localhost", srv.port());
|
||||
HTTPClientSession s("127.0.0.1", srv.port());
|
||||
HTTPRequest request(HTTPRequest::HTTP_GET, "/large");
|
||||
s.sendRequest(request);
|
||||
HTTPResponse response;
|
||||
@@ -75,7 +75,7 @@ void HTTPClientSessionTest::testGetLarge()
|
||||
void HTTPClientSessionTest::testHead()
|
||||
{
|
||||
HTTPTestServer srv;
|
||||
HTTPClientSession s("localhost", srv.port());
|
||||
HTTPClientSession s("127.0.0.1", srv.port());
|
||||
HTTPRequest request(HTTPRequest::HTTP_HEAD, "/large");
|
||||
s.sendRequest(request);
|
||||
HTTPResponse response;
|
||||
@@ -90,7 +90,7 @@ void HTTPClientSessionTest::testHead()
|
||||
void HTTPClientSessionTest::testPostSmallIdentity()
|
||||
{
|
||||
HTTPTestServer srv;
|
||||
HTTPClientSession s("localhost", srv.port());
|
||||
HTTPClientSession s("127.0.0.1", srv.port());
|
||||
HTTPRequest request(HTTPRequest::HTTP_POST, "/echo");
|
||||
std::string body("this is a random request body\r\n0\r\n");
|
||||
request.setContentLength((int) body.length());
|
||||
@@ -107,7 +107,7 @@ void HTTPClientSessionTest::testPostSmallIdentity()
|
||||
void HTTPClientSessionTest::testPostLargeIdentity()
|
||||
{
|
||||
HTTPTestServer srv;
|
||||
HTTPClientSession s("localhost", srv.port());
|
||||
HTTPClientSession s("127.0.0.1", srv.port());
|
||||
HTTPRequest request(HTTPRequest::HTTP_POST, "/echo");
|
||||
std::string body(8000, 'x');
|
||||
body.append("\r\n0\r\n");
|
||||
@@ -125,7 +125,7 @@ void HTTPClientSessionTest::testPostLargeIdentity()
|
||||
void HTTPClientSessionTest::testPostSmallChunked()
|
||||
{
|
||||
HTTPTestServer srv;
|
||||
HTTPClientSession s("localhost", srv.port());
|
||||
HTTPClientSession s("127.0.0.1", srv.port());
|
||||
HTTPRequest request(HTTPRequest::HTTP_POST, "/echo");
|
||||
std::string body("this is a random request body");
|
||||
request.setChunkedTransferEncoding(true);
|
||||
@@ -143,7 +143,7 @@ void HTTPClientSessionTest::testPostSmallChunked()
|
||||
void HTTPClientSessionTest::testPostLargeChunked()
|
||||
{
|
||||
HTTPTestServer srv;
|
||||
HTTPClientSession s("localhost", srv.port());
|
||||
HTTPClientSession s("127.0.0.1", srv.port());
|
||||
HTTPRequest request(HTTPRequest::HTTP_POST, "/echo");
|
||||
std::string body(16000, 'x');
|
||||
request.setChunkedTransferEncoding(true);
|
||||
@@ -163,7 +163,7 @@ void HTTPClientSessionTest::testPostLargeChunked()
|
||||
void HTTPClientSessionTest::testPostSmallClose()
|
||||
{
|
||||
HTTPTestServer srv;
|
||||
HTTPClientSession s("localhost", srv.port());
|
||||
HTTPClientSession s("127.0.0.1", srv.port());
|
||||
HTTPRequest request(HTTPRequest::HTTP_POST, "/echo");
|
||||
std::string body("this is a random request body");
|
||||
s.sendRequest(request) << body;
|
||||
@@ -180,7 +180,7 @@ void HTTPClientSessionTest::testPostSmallClose()
|
||||
void HTTPClientSessionTest::testPostLargeClose()
|
||||
{
|
||||
HTTPTestServer srv;
|
||||
HTTPClientSession s("localhost", srv.port());
|
||||
HTTPClientSession s("127.0.0.1", srv.port());
|
||||
HTTPRequest request(HTTPRequest::HTTP_POST, "/echo");
|
||||
std::string body(8000, 'x');
|
||||
s.sendRequest(request) << body;
|
||||
@@ -197,7 +197,7 @@ void HTTPClientSessionTest::testPostLargeClose()
|
||||
void HTTPClientSessionTest::testKeepAlive()
|
||||
{
|
||||
HTTPTestServer srv;
|
||||
HTTPClientSession s("localhost", srv.port());
|
||||
HTTPClientSession s("127.0.0.1", srv.port());
|
||||
s.setKeepAlive(true);
|
||||
HTTPRequest request(HTTPRequest::HTTP_HEAD, "/keepAlive", HTTPMessage::HTTP_1_1);
|
||||
s.sendRequest(request);
|
||||
@@ -246,7 +246,7 @@ void HTTPClientSessionTest::testProxy()
|
||||
{
|
||||
HTTPTestServer srv;
|
||||
HTTPClientSession s("www.somehost.com");
|
||||
s.setProxy("localhost", srv.port());
|
||||
s.setProxy("127.0.0.1", srv.port());
|
||||
HTTPRequest request(HTTPRequest::HTTP_GET, "/large");
|
||||
s.sendRequest(request);
|
||||
HTTPResponse response;
|
||||
@@ -263,7 +263,7 @@ void HTTPClientSessionTest::testProxyAuth()
|
||||
{
|
||||
HTTPTestServer srv;
|
||||
HTTPClientSession s("www.somehost.com");
|
||||
s.setProxy("localhost", srv.port());
|
||||
s.setProxy("127.0.0.1", srv.port());
|
||||
s.setProxyCredentials("user", "pass");
|
||||
HTTPRequest request(HTTPRequest::HTTP_GET, "/large");
|
||||
s.sendRequest(request);
|
||||
@@ -286,7 +286,7 @@ void HTTPClientSessionTest::testBypassProxy()
|
||||
proxyConfig.port = 80;
|
||||
proxyConfig.nonProxyHosts = "localhost|127\\.0\\.0\\.1";
|
||||
|
||||
HTTPClientSession s1("localhost", 80);
|
||||
HTTPClientSession s1("127.0.0.1", 80);
|
||||
s1.setProxyConfig(proxyConfig);
|
||||
assert (s1.bypassProxy());
|
||||
|
||||
@@ -303,7 +303,7 @@ void HTTPClientSessionTest::testBypassProxy()
|
||||
void HTTPClientSessionTest::testExpectContinue()
|
||||
{
|
||||
HTTPTestServer srv;
|
||||
HTTPClientSession s("localhost", srv.port());
|
||||
HTTPClientSession s("127.0.0.1", srv.port());
|
||||
HTTPRequest request(HTTPRequest::HTTP_POST, "/expect");
|
||||
std::string body("this is a random request body\r\n0\r\n");
|
||||
request.setContentLength((int) body.length());
|
||||
@@ -324,7 +324,7 @@ void HTTPClientSessionTest::testExpectContinue()
|
||||
void HTTPClientSessionTest::testExpectContinueFail()
|
||||
{
|
||||
HTTPTestServer srv;
|
||||
HTTPClientSession s("localhost", srv.port());
|
||||
HTTPClientSession s("127.0.0.1", srv.port());
|
||||
HTTPRequest request(HTTPRequest::HTTP_POST, "/fail");
|
||||
std::string body("this is a random request body\r\n0\r\n");
|
||||
request.setContentLength((int) body.length());
|
||||
|
@@ -146,7 +146,7 @@ void HTTPServerTest::testIdentityRequest()
|
||||
HTTPServer srv(new RequestHandlerFactory, svs, pParams);
|
||||
srv.start();
|
||||
|
||||
HTTPClientSession cs("localhost", svs.address().port());
|
||||
HTTPClientSession cs("127.0.0.1", svs.address().port());
|
||||
std::string body(5000, 'x');
|
||||
HTTPRequest request("POST", "/echoBody");
|
||||
request.setContentLength((int) body.length());
|
||||
@@ -169,7 +169,7 @@ void HTTPServerTest::testPutIdentityRequest()
|
||||
HTTPServer srv(new RequestHandlerFactory, svs, pParams);
|
||||
srv.start();
|
||||
|
||||
HTTPClientSession cs("localhost", svs.address().port());
|
||||
HTTPClientSession cs("127.0.0.1", svs.address().port());
|
||||
std::string body(5000, 'x');
|
||||
HTTPRequest request("PUT", "/echoBody");
|
||||
request.setContentLength((int) body.length());
|
||||
@@ -192,7 +192,7 @@ void HTTPServerTest::testChunkedRequest()
|
||||
HTTPServer srv(new RequestHandlerFactory, svs, pParams);
|
||||
srv.start();
|
||||
|
||||
HTTPClientSession cs("localhost", svs.address().port());
|
||||
HTTPClientSession cs("127.0.0.1", svs.address().port());
|
||||
std::string body(5000, 'x');
|
||||
HTTPRequest request("POST", "/echoBody");
|
||||
request.setContentType("text/plain");
|
||||
@@ -216,7 +216,7 @@ void HTTPServerTest::testClosedRequest()
|
||||
HTTPServer srv(new RequestHandlerFactory, svs, pParams);
|
||||
srv.start();
|
||||
|
||||
HTTPClientSession cs("localhost", svs.address().port());
|
||||
HTTPClientSession cs("127.0.0.1", svs.address().port());
|
||||
std::string body(5000, 'x');
|
||||
HTTPRequest request("POST", "/echoBody");
|
||||
request.setContentType("text/plain");
|
||||
@@ -236,7 +236,7 @@ void HTTPServerTest::testIdentityRequestKeepAlive()
|
||||
HTTPServer srv(new RequestHandlerFactory, 8008);
|
||||
srv.start();
|
||||
|
||||
HTTPClientSession cs("localhost", srv.socket().address().port());
|
||||
HTTPClientSession cs("127.0.0.1", srv.socket().address().port());
|
||||
cs.setKeepAlive(true);
|
||||
std::string body(5000, 'x');
|
||||
HTTPRequest request("POST", "/echoBody", HTTPMessage::HTTP_1_1);
|
||||
@@ -267,7 +267,7 @@ void HTTPServerTest::testChunkedRequestKeepAlive()
|
||||
HTTPServer srv(new RequestHandlerFactory, 8009);
|
||||
srv.start();
|
||||
|
||||
HTTPClientSession cs("localhost", srv.socket().address().port());
|
||||
HTTPClientSession cs("127.0.0.1", srv.socket().address().port());
|
||||
cs.setKeepAlive(true);
|
||||
std::string body(5000, 'x');
|
||||
HTTPRequest request("POST", "/echoBody", HTTPMessage::HTTP_1_1);
|
||||
@@ -299,7 +299,7 @@ void HTTPServerTest::testClosedRequestKeepAlive()
|
||||
HTTPServer srv(new RequestHandlerFactory, 8010);
|
||||
srv.start();
|
||||
|
||||
HTTPClientSession cs("localhost", srv.socket().address().port());
|
||||
HTTPClientSession cs("127.0.0.1", srv.socket().address().port());
|
||||
std::string body(5000, 'x');
|
||||
HTTPRequest request("POST", "/echoBody");
|
||||
request.setContentType("text/plain");
|
||||
@@ -324,7 +324,7 @@ void HTTPServerTest::testMaxKeepAlive()
|
||||
HTTPServer srv(new RequestHandlerFactory, svs, pParams);
|
||||
srv.start();
|
||||
|
||||
HTTPClientSession cs("localhost", svs.address().port());
|
||||
HTTPClientSession cs("127.0.0.1", svs.address().port());
|
||||
cs.setKeepAlive(true);
|
||||
HTTPRequest request("POST", "/echoBody", HTTPMessage::HTTP_1_1);
|
||||
request.setContentType("text/plain");
|
||||
@@ -380,7 +380,7 @@ void HTTPServerTest::testKeepAliveTimeout()
|
||||
HTTPServer srv(new RequestHandlerFactory, svs, pParams);
|
||||
srv.start();
|
||||
|
||||
HTTPClientSession cs("localhost", svs.address().port());
|
||||
HTTPClientSession cs("127.0.0.1", svs.address().port());
|
||||
cs.setKeepAlive(true);
|
||||
cs.setKeepAliveTimeout(Poco::Timespan(2, 0));
|
||||
HTTPRequest request("POST", "/echoBody", HTTPMessage::HTTP_1_1);
|
||||
@@ -424,7 +424,7 @@ void HTTPServerTest::test100Continue()
|
||||
HTTPServer srv(new RequestHandlerFactory, svs, pParams);
|
||||
srv.start();
|
||||
|
||||
HTTPClientSession cs("localhost", svs.address().port());
|
||||
HTTPClientSession cs("127.0.0.1", svs.address().port());
|
||||
std::string body(5000, 'x');
|
||||
HTTPRequest request("POST", "/echoBody");
|
||||
request.setContentLength((int) body.length());
|
||||
@@ -448,7 +448,7 @@ void HTTPServerTest::testRedirect()
|
||||
HTTPServer srv(new RequestHandlerFactory, svs, pParams);
|
||||
srv.start();
|
||||
|
||||
HTTPClientSession cs("localhost", svs.address().port());
|
||||
HTTPClientSession cs("127.0.0.1", svs.address().port());
|
||||
HTTPRequest request("GET", "/redirect");
|
||||
cs.sendRequest(request);
|
||||
HTTPResponse response;
|
||||
@@ -468,7 +468,7 @@ void HTTPServerTest::testAuth()
|
||||
HTTPServer srv(new RequestHandlerFactory, svs, pParams);
|
||||
srv.start();
|
||||
|
||||
HTTPClientSession cs("localhost", svs.address().port());
|
||||
HTTPClientSession cs("127.0.0.1", svs.address().port());
|
||||
HTTPRequest request("GET", "/auth");
|
||||
cs.sendRequest(request);
|
||||
HTTPResponse response;
|
||||
@@ -488,7 +488,7 @@ void HTTPServerTest::testNotImpl()
|
||||
HTTPServer srv(new RequestHandlerFactory, svs, pParams);
|
||||
srv.start();
|
||||
|
||||
HTTPClientSession cs("localhost", svs.address().port());
|
||||
HTTPClientSession cs("127.0.0.1", svs.address().port());
|
||||
HTTPRequest request("GET", "/notImpl");
|
||||
cs.sendRequest(request);
|
||||
HTTPResponse response;
|
||||
@@ -507,7 +507,7 @@ void HTTPServerTest::testBuffer()
|
||||
HTTPServer srv(new RequestHandlerFactory, svs, pParams);
|
||||
srv.start();
|
||||
|
||||
HTTPClientSession cs("localhost", svs.address().port());
|
||||
HTTPClientSession cs("127.0.0.1", svs.address().port());
|
||||
HTTPRequest request("GET", "/buffer");
|
||||
cs.sendRequest(request);
|
||||
HTTPResponse response;
|
||||
|
@@ -48,9 +48,9 @@ ICMPClientTest::~ICMPClientTest()
|
||||
|
||||
void ICMPClientTest::testPing()
|
||||
{
|
||||
assert(ICMPClient::pingIPv4("localhost") > 0);
|
||||
assert(ICMPClient::pingIPv4("127.0.0.1") > 0);
|
||||
|
||||
assert(_icmpClient.ping("localhost") > 0);
|
||||
assert(_icmpClient.ping("127.0.0.1") > 0);
|
||||
assert(_icmpClient.ping("www.appinf.com", 4) > 0);
|
||||
|
||||
// warning: may fail depending on the existence of the addresses at test site
|
||||
|
@@ -42,7 +42,7 @@ void POP3ClientSessionTest::testLogin()
|
||||
server.addResponse("+OK USER");
|
||||
server.addResponse("+OK PASS");
|
||||
server.addResponse("+OK QUIT");
|
||||
POP3ClientSession session("localhost", server.port());
|
||||
POP3ClientSession session("127.0.0.1", server.port());
|
||||
session.login("user", "secret");
|
||||
std::string cmd = server.popCommand();
|
||||
assert (cmd == "USER user");
|
||||
@@ -61,7 +61,7 @@ void POP3ClientSessionTest::testLoginFail()
|
||||
server.addResponse("+OK USER");
|
||||
server.addResponse("-ERR PASS");
|
||||
server.addResponse("+OK QUIT");
|
||||
POP3ClientSession session("localhost", server.port());
|
||||
POP3ClientSession session("127.0.0.1", server.port());
|
||||
try
|
||||
{
|
||||
session.login("user", "secret");
|
||||
@@ -82,7 +82,7 @@ void POP3ClientSessionTest::testMessageCount()
|
||||
server.addResponse("+OK PASS");
|
||||
server.addResponse("+OK 42 12345");
|
||||
server.addResponse("+OK QUIT");
|
||||
POP3ClientSession session("localhost", server.port());
|
||||
POP3ClientSession session("127.0.0.1", server.port());
|
||||
session.login("user", "secret");
|
||||
server.clearCommands();
|
||||
int n = session.messageCount();
|
||||
@@ -107,7 +107,7 @@ void POP3ClientSessionTest::testList()
|
||||
".\r\n"
|
||||
);
|
||||
server.addResponse("+OK QUIT");
|
||||
POP3ClientSession session("localhost", server.port());
|
||||
POP3ClientSession session("127.0.0.1", server.port());
|
||||
session.login("user", "secret");
|
||||
server.clearCommands();
|
||||
std::vector<POP3ClientSession::MessageInfo> infos;
|
||||
@@ -146,7 +146,7 @@ void POP3ClientSessionTest::testRetrieveMessage()
|
||||
".\r\n"
|
||||
);
|
||||
server.addResponse("+OK QUIT");
|
||||
POP3ClientSession session("localhost", server.port());
|
||||
POP3ClientSession session("127.0.0.1", server.port());
|
||||
session.login("user", "secret");
|
||||
server.clearCommands();
|
||||
MailMessage message;
|
||||
@@ -182,7 +182,7 @@ void POP3ClientSessionTest::testRetrieveHeader()
|
||||
"."
|
||||
);
|
||||
server.addResponse("+OK QUIT");
|
||||
POP3ClientSession session("localhost", server.port());
|
||||
POP3ClientSession session("127.0.0.1", server.port());
|
||||
session.login("user", "secret");
|
||||
server.clearCommands();
|
||||
MessageHeader header;
|
||||
@@ -225,7 +225,7 @@ void POP3ClientSessionTest::testRetrieveMessages()
|
||||
"."
|
||||
);
|
||||
server.addResponse("+OK QUIT");
|
||||
POP3ClientSession session("localhost", server.port());
|
||||
POP3ClientSession session("127.0.0.1", server.port());
|
||||
session.login("user", "secret");
|
||||
server.clearCommands();
|
||||
MessageHeader header;
|
||||
@@ -261,7 +261,7 @@ void POP3ClientSessionTest::testDeleteMessage()
|
||||
server.addResponse("+OK PASS");
|
||||
server.addResponse("+OK DELETED");
|
||||
server.addResponse("+OK QUIT");
|
||||
POP3ClientSession session("localhost", server.port());
|
||||
POP3ClientSession session("127.0.0.1", server.port());
|
||||
session.login("user", "secret");
|
||||
server.clearCommands();
|
||||
session.deleteMessage(42);
|
||||
|
@@ -45,7 +45,7 @@ RawSocketTest::~RawSocketTest()
|
||||
|
||||
void RawSocketTest::testEchoIPv4()
|
||||
{
|
||||
SocketAddress sa("localhost", 0);
|
||||
SocketAddress sa("127.0.0.1", 0);
|
||||
RawSocket rs(IPAddress::IPv4);
|
||||
rs.connect(sa);
|
||||
|
||||
@@ -70,7 +70,7 @@ void RawSocketTest::testSendToReceiveFromIPv4()
|
||||
{
|
||||
RawSocket rs(IPAddress::IPv4);
|
||||
|
||||
int n = rs.sendTo("hello", 5, SocketAddress("localhost", 0));
|
||||
int n = rs.sendTo("hello", 5, SocketAddress("127.0.0.1", 0));
|
||||
assert (n == 5);
|
||||
|
||||
char buffer[256] = "";
|
||||
|
@@ -42,7 +42,7 @@ void SMTPClientSessionTest::testLoginEHLO()
|
||||
server.addResponse("220 localhost SMTP ready");
|
||||
server.addResponse("250 Hello localhost");
|
||||
server.addResponse("221 Bye");
|
||||
SMTPClientSession session("localhost", server.port());
|
||||
SMTPClientSession session("127.0.0.1", server.port());
|
||||
session.login("localhost");
|
||||
std::string cmd = server.popCommand();
|
||||
assert (cmd == "EHLO localhost");
|
||||
@@ -59,7 +59,7 @@ void SMTPClientSessionTest::testLoginHELO()
|
||||
server.addResponse("500 EHLO not understood");
|
||||
server.addResponse("250 Hello localhost");
|
||||
server.addResponse("221 Bye");
|
||||
SMTPClientSession session("localhost", server.port());
|
||||
SMTPClientSession session("127.0.0.1", server.port());
|
||||
session.login("localhost");
|
||||
std::string cmd = server.popCommand();
|
||||
assert (cmd == "EHLO localhost");
|
||||
@@ -76,7 +76,7 @@ void SMTPClientSessionTest::testLoginFailed()
|
||||
DialogServer server;
|
||||
server.addResponse("500 No SMTP service here");
|
||||
server.addResponse("221 Bye");
|
||||
SMTPClientSession session("localhost", server.port());
|
||||
SMTPClientSession session("127.0.0.1", server.port());
|
||||
try
|
||||
{
|
||||
session.login("localhost");
|
||||
@@ -99,7 +99,7 @@ void SMTPClientSessionTest::testSend()
|
||||
server.addResponse("354 Send data");
|
||||
server.addResponse("250 OK");
|
||||
server.addResponse("221 Bye");
|
||||
SMTPClientSession session("localhost", server.port());
|
||||
SMTPClientSession session("127.0.0.1", server.port());
|
||||
session.login("localhost");
|
||||
|
||||
MailMessage message;
|
||||
@@ -153,7 +153,7 @@ void SMTPClientSessionTest::testSendMultiRecipient()
|
||||
server.addResponse("250 OK");
|
||||
server.addResponse("250 OK");
|
||||
server.addResponse("221 Bye");
|
||||
SMTPClientSession session("localhost", server.port());
|
||||
SMTPClientSession session("127.0.0.1", server.port());
|
||||
session.login("localhost");
|
||||
|
||||
MailMessage message;
|
||||
@@ -218,7 +218,7 @@ void SMTPClientSessionTest::testMultiSeparateRecipient()
|
||||
server.addResponse("250 OK");
|
||||
server.addResponse("250 OK");
|
||||
server.addResponse("221 Bye");
|
||||
SMTPClientSession session("localhost", server.port());
|
||||
SMTPClientSession session("127.0.0.1", server.port());
|
||||
session.login("localhost");
|
||||
|
||||
MailMessage message;
|
||||
@@ -285,7 +285,7 @@ void SMTPClientSessionTest::testSendFailed()
|
||||
server.addResponse("354 Send data");
|
||||
server.addResponse("500 Error");
|
||||
server.addResponse("221 Bye");
|
||||
SMTPClientSession session("localhost", server.port());
|
||||
SMTPClientSession session("127.0.0.1", server.port());
|
||||
session.login("localhost");
|
||||
|
||||
MailMessage message;
|
||||
|
@@ -23,6 +23,7 @@ using Poco::Net::InvalidAddressException;
|
||||
using Poco::Net::HostNotFoundException;
|
||||
using Poco::Net::ServiceNotFoundException;
|
||||
using Poco::Net::NoAddressFoundException;
|
||||
using Poco::Net::AddressFamilyMismatchException;
|
||||
using Poco::InvalidArgumentException;
|
||||
|
||||
|
||||
@@ -68,7 +69,7 @@ void SocketAddressTest::testSocketAddress()
|
||||
{
|
||||
}
|
||||
|
||||
SocketAddress sa4("www.appinf.com", 80);
|
||||
SocketAddress sa4("pocoproject.org", 80);
|
||||
assert (sa4.host().toString() == "162.209.7.4");
|
||||
assert (sa4.port() == 80);
|
||||
|
||||
@@ -118,6 +119,24 @@ void SocketAddressTest::testSocketAddress()
|
||||
catch (InvalidArgumentException&)
|
||||
{
|
||||
}
|
||||
|
||||
SocketAddress sa10("www6.pocoproject.org", 80);
|
||||
assert (sa10.host().toString() == "162.209.7.4" || sa10.host().toString() == "[2001:4801:7819:74:be76:4eff:fe10:6b73]");
|
||||
|
||||
SocketAddress sa11(SocketAddress::IPv4, "www6.pocoproject.org", 80);
|
||||
assert (sa11.host().toString() == "162.209.7.4");
|
||||
|
||||
#ifdef POCO_HAVE_IPv6
|
||||
try
|
||||
{
|
||||
SocketAddress sa12(SocketAddress::IPv6, "www6.pocoproject.org", 80);
|
||||
assert (sa12.host().toString() == "[2001:4801:7819:74:be76:4eff:fe10:6b73]");
|
||||
}
|
||||
catch (AddressFamilyMismatchException&)
|
||||
{
|
||||
// may happen if no IPv6 address is configured on the system
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
@@ -314,7 +314,7 @@ void SocketReactorTest::testSocketReactor()
|
||||
ServerSocket ss(ssa);
|
||||
SocketReactor reactor;
|
||||
SocketAcceptor<EchoServiceHandler> acceptor(ss, reactor);
|
||||
SocketAddress sa("localhost", ss.address().port());
|
||||
SocketAddress sa("127.0.0.1", ss.address().port());
|
||||
SocketConnector<ClientServiceHandler> connector(sa, reactor);
|
||||
ClientServiceHandler::setOnce(true);
|
||||
ClientServiceHandler::resetData();
|
||||
@@ -334,7 +334,7 @@ void SocketReactorTest::testSetSocketReactor()
|
||||
SocketReactor reactor;
|
||||
SocketAcceptor<EchoServiceHandler> acceptor(ss);
|
||||
acceptor.setReactor(reactor);
|
||||
SocketAddress sa("localhost", ss.address().port());
|
||||
SocketAddress sa("127.0.0.1", ss.address().port());
|
||||
SocketConnector<ClientServiceHandler> connector(sa, reactor);
|
||||
ClientServiceHandler::setOnce(true);
|
||||
ClientServiceHandler::resetData();
|
||||
@@ -353,7 +353,7 @@ void SocketReactorTest::testParallelSocketReactor()
|
||||
ServerSocket ss(ssa);
|
||||
SocketReactor reactor;
|
||||
ParallelSocketAcceptor<EchoServiceHandler, SocketReactor> acceptor(ss, reactor);
|
||||
SocketAddress sa("localhost", ss.address().port());
|
||||
SocketAddress sa("127.0.0.1", ss.address().port());
|
||||
SocketConnector<ClientServiceHandler> connector1(sa, reactor);
|
||||
SocketConnector<ClientServiceHandler> connector2(sa, reactor);
|
||||
SocketConnector<ClientServiceHandler> connector3(sa, reactor);
|
||||
@@ -390,7 +390,7 @@ void SocketReactorTest::testSocketConnectorTimeout()
|
||||
SocketAddress ssa;
|
||||
ServerSocket ss(ssa);
|
||||
SocketReactor reactor;
|
||||
SocketAddress sa("localhost", ss.address().port());
|
||||
SocketAddress sa("127.0.0.1", ss.address().port());
|
||||
SocketConnector<ClientServiceHandler> connector(sa, reactor);
|
||||
reactor.run();
|
||||
assert (ClientServiceHandler::timeout());
|
||||
|
@@ -49,7 +49,7 @@ void SocketStreamTest::testStreamEcho()
|
||||
{
|
||||
EchoServer echoServer;
|
||||
StreamSocket ss;
|
||||
ss.connect(SocketAddress("localhost", echoServer.port()));
|
||||
ss.connect(SocketAddress("127.0.0.1", echoServer.port()));
|
||||
SocketStream str(ss);
|
||||
str << "hello";
|
||||
assert (str.good());
|
||||
@@ -72,7 +72,7 @@ void SocketStreamTest::testLargeStreamEcho()
|
||||
const int msgSize = 64000;
|
||||
EchoServer echoServer;
|
||||
StreamSocket ss;
|
||||
ss.connect(SocketAddress("localhost", echoServer.port()));
|
||||
ss.connect(SocketAddress("127.0.0.1", echoServer.port()));
|
||||
SocketStream str(ss);
|
||||
ss.setSendBufferSize(msgSize);
|
||||
ss.setReceiveBufferSize(msgSize);
|
||||
@@ -100,7 +100,7 @@ void SocketStreamTest::testEOF()
|
||||
{
|
||||
EchoServer echoServer;
|
||||
|
||||
ss.connect(SocketAddress("localhost", echoServer.port()));
|
||||
ss.connect(SocketAddress("127.0.0.1", echoServer.port()));
|
||||
str << "hello";
|
||||
assert (str.good());
|
||||
str.flush();
|
||||
|
@@ -55,7 +55,7 @@ void SocketTest::testEcho()
|
||||
{
|
||||
EchoServer echoServer;
|
||||
StreamSocket ss;
|
||||
ss.connect(SocketAddress("localhost", echoServer.port()));
|
||||
ss.connect(SocketAddress("127.0.0.1", echoServer.port()));
|
||||
int n = ss.sendBytes("hello", 5);
|
||||
assert (n == 5);
|
||||
char buffer[256];
|
||||
@@ -70,7 +70,7 @@ void SocketTest::testPoll()
|
||||
{
|
||||
EchoServer echoServer;
|
||||
StreamSocket ss;
|
||||
ss.connect(SocketAddress("localhost", echoServer.port()));
|
||||
ss.connect(SocketAddress("127.0.0.1", echoServer.port()));
|
||||
Stopwatch sw;
|
||||
sw.start();
|
||||
Timespan timeout(1000000);
|
||||
@@ -95,7 +95,7 @@ void SocketTest::testAvailable()
|
||||
{
|
||||
EchoServer echoServer;
|
||||
StreamSocket ss;
|
||||
ss.connect(SocketAddress("localhost", echoServer.port()));
|
||||
ss.connect(SocketAddress("127.0.0.1", echoServer.port()));
|
||||
Timespan timeout(1000000);
|
||||
ss.sendBytes("hello", 5);
|
||||
char buffer[256];
|
||||
@@ -135,7 +135,7 @@ void SocketTest::testFIFOBuffer()
|
||||
|
||||
EchoServer echoServer;
|
||||
StreamSocket ss;
|
||||
ss.connect(SocketAddress("localhost", echoServer.port()));
|
||||
ss.connect(SocketAddress("127.0.0.1", echoServer.port()));
|
||||
int n = ss.sendBytes(f);
|
||||
assert (n == 5);
|
||||
assert(1 == _notToReadable);
|
||||
@@ -172,7 +172,7 @@ void SocketTest::testConnect()
|
||||
serv.listen();
|
||||
StreamSocket ss;
|
||||
Timespan timeout(250000);
|
||||
ss.connect(SocketAddress("localhost", serv.address().port()), timeout);
|
||||
ss.connect(SocketAddress("127.0.0.1", serv.address().port()), timeout);
|
||||
}
|
||||
|
||||
|
||||
@@ -187,7 +187,7 @@ void SocketTest::testConnectRefused()
|
||||
Timespan timeout(250000);
|
||||
try
|
||||
{
|
||||
ss.connect(SocketAddress("localhost", port));
|
||||
ss.connect(SocketAddress("127.0.0.1", port));
|
||||
fail("connection refused - must throw");
|
||||
}
|
||||
catch (ConnectionRefusedException&)
|
||||
@@ -207,7 +207,7 @@ void SocketTest::testConnectRefusedNB()
|
||||
Timespan timeout(2, 0);
|
||||
try
|
||||
{
|
||||
ss.connect(SocketAddress("localhost", port), timeout);
|
||||
ss.connect(SocketAddress("127.0.0.1", port), timeout);
|
||||
fail("connection refused - must throw");
|
||||
}
|
||||
catch (TimeoutException&)
|
||||
@@ -223,7 +223,7 @@ void SocketTest::testNonBlocking()
|
||||
{
|
||||
EchoServer echoServer;
|
||||
StreamSocket ss;
|
||||
ss.connect(SocketAddress("localhost", echoServer.port()));
|
||||
ss.connect(SocketAddress("127.0.0.1", echoServer.port()));
|
||||
ss.setBlocking(false);
|
||||
|
||||
Timespan timeout(1000000);
|
||||
@@ -247,7 +247,7 @@ void SocketTest::testAddress()
|
||||
serv.bind(SocketAddress());
|
||||
serv.listen();
|
||||
StreamSocket ss;
|
||||
ss.connect(SocketAddress("localhost", serv.address().port()));
|
||||
ss.connect(SocketAddress("127.0.0.1", serv.address().port()));
|
||||
StreamSocket css = serv.acceptConnection();
|
||||
assert (css.peerAddress().host() == ss.address().host());
|
||||
assert (css.peerAddress().port() == ss.address().port());
|
||||
@@ -309,7 +309,7 @@ void SocketTest::testTimeout()
|
||||
{
|
||||
EchoServer echoServer;
|
||||
StreamSocket ss;
|
||||
ss.connect(SocketAddress("localhost", echoServer.port()));
|
||||
ss.connect(SocketAddress("127.0.0.1", echoServer.port()));
|
||||
|
||||
Timespan timeout0 = ss.getReceiveTimeout();
|
||||
Timespan timeout(250000);
|
||||
@@ -347,7 +347,7 @@ void SocketTest::testTimeout()
|
||||
void SocketTest::testBufferSize()
|
||||
{
|
||||
EchoServer echoServer;
|
||||
SocketAddress sa("localhost", 1234);
|
||||
SocketAddress sa("127.0.0.1", 1234);
|
||||
StreamSocket ss(sa.family());
|
||||
|
||||
int osz = ss.getSendBufferSize();
|
||||
@@ -371,7 +371,7 @@ void SocketTest::testOptions()
|
||||
{
|
||||
EchoServer echoServer;
|
||||
StreamSocket ss;
|
||||
ss.connect(SocketAddress("localhost", echoServer.port()));
|
||||
ss.connect(SocketAddress("127.0.0.1", echoServer.port()));
|
||||
|
||||
ss.setLinger(true, 20);
|
||||
bool f;
|
||||
@@ -405,7 +405,7 @@ void SocketTest::testSelect()
|
||||
|
||||
EchoServer echoServer;
|
||||
StreamSocket ss;
|
||||
ss.connect(SocketAddress("localhost", echoServer.port()));
|
||||
ss.connect(SocketAddress("127.0.0.1", echoServer.port()));
|
||||
|
||||
Socket::SocketList readList;
|
||||
Socket::SocketList writeList;
|
||||
@@ -442,8 +442,8 @@ void SocketTest::testSelect2()
|
||||
|
||||
EchoServer echoServer1;
|
||||
EchoServer echoServer2;
|
||||
StreamSocket ss1(SocketAddress("localhost", echoServer1.port()));
|
||||
StreamSocket ss2(SocketAddress("localhost", echoServer2.port()));
|
||||
StreamSocket ss1(SocketAddress("127.0.0.1", echoServer1.port()));
|
||||
StreamSocket ss2(SocketAddress("127.0.0.1", echoServer2.port()));
|
||||
|
||||
Socket::SocketList readList;
|
||||
Socket::SocketList writeList;
|
||||
|
@@ -84,7 +84,7 @@ void TCPServerTest::testOneConnection()
|
||||
assert (srv.queuedConnections() == 0);
|
||||
assert (srv.totalConnections() == 0);
|
||||
|
||||
SocketAddress sa("localhost", srv.socket().address().port());
|
||||
SocketAddress sa("127.0.0.1", srv.socket().address().port());
|
||||
StreamSocket ss1(sa);
|
||||
std::string data("hello, world");
|
||||
ss1.sendBytes(data.data(), (int) data.size());
|
||||
@@ -111,7 +111,7 @@ void TCPServerTest::testTwoConnections()
|
||||
assert (srv.queuedConnections() == 0);
|
||||
assert (srv.totalConnections() == 0);
|
||||
|
||||
SocketAddress sa("localhost", srv.socket().address().port());
|
||||
SocketAddress sa("127.0.0.1", srv.socket().address().port());
|
||||
StreamSocket ss1(sa);
|
||||
StreamSocket ss2(sa);
|
||||
std::string data("hello, world");
|
||||
@@ -159,7 +159,7 @@ void TCPServerTest::testMultiConnections()
|
||||
assert (srv.queuedConnections() == 0);
|
||||
assert (srv.totalConnections() == 0);
|
||||
|
||||
SocketAddress sa("localhost", svs.address().port());
|
||||
SocketAddress sa("127.0.0.1", svs.address().port());
|
||||
StreamSocket ss1(sa);
|
||||
StreamSocket ss2(sa);
|
||||
StreamSocket ss3(sa);
|
||||
|
@@ -119,7 +119,7 @@ void WebSocketTest::testWebSocket()
|
||||
|
||||
Poco::Thread::sleep(200);
|
||||
|
||||
HTTPClientSession cs("localhost", ss.address().port());
|
||||
HTTPClientSession cs("127.0.0.1", ss.address().port());
|
||||
HTTPRequest request(HTTPRequest::HTTP_GET, "/ws", HTTPRequest::HTTP_1_1);
|
||||
HTTPResponse response;
|
||||
WebSocket ws(cs, request, response);
|
||||
@@ -200,7 +200,7 @@ void WebSocketTest::testWebSocketLarge()
|
||||
|
||||
Poco::Thread::sleep(200);
|
||||
|
||||
HTTPClientSession cs("localhost", ss.address().port());
|
||||
HTTPClientSession cs("127.0.0.1", ss.address().port());
|
||||
HTTPRequest request(HTTPRequest::HTTP_GET, "/ws", HTTPRequest::HTTP_1_1);
|
||||
HTTPResponse response;
|
||||
WebSocket ws(cs, request, response);
|
||||
@@ -232,7 +232,7 @@ void WebSocketTest::testOneLargeFrame(int msgSize)
|
||||
|
||||
Poco::Thread::sleep(200);
|
||||
|
||||
HTTPClientSession cs("localhost", ss.address().port());
|
||||
HTTPClientSession cs("127.0.0.1", ss.address().port());
|
||||
HTTPRequest request(HTTPRequest::HTTP_GET, "/ws", HTTPRequest::HTTP_1_1);
|
||||
HTTPResponse response;
|
||||
WebSocket ws(cs, request, response);
|
||||
|
Reference in New Issue
Block a user