summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/Network.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/Network.cpp')
-rw-r--r--cpp/src/Ice/Network.cpp96
1 files changed, 3 insertions, 93 deletions
diff --git a/cpp/src/Ice/Network.cpp b/cpp/src/Ice/Network.cpp
index f8f9510d3ba..1da5802c174 100644
--- a/cpp/src/Ice/Network.cpp
+++ b/cpp/src/Ice/Network.cpp
@@ -575,12 +575,12 @@ repeatAccept:
static IceUtil::Mutex getHostByNameMutex;
void
-IceInternal::getAddress(const char* host, int port, struct sockaddr_in& addr)
+IceInternal::getAddress(const string& host, int port, struct sockaddr_in& addr)
{
memset(&addr, 0, sizeof(struct sockaddr_in));
addr.sin_family = AF_INET;
addr.sin_port = htons(port);
- addr.sin_addr.s_addr = inet_addr(host);
+ addr.sin_addr.s_addr = inet_addr(host.c_str());
if (addr.sin_addr.s_addr == INADDR_NONE)
{
@@ -591,7 +591,7 @@ IceInternal::getAddress(const char* host, int port, struct sockaddr_in& addr)
do
{
- entry = gethostbyname(host);
+ entry = gethostbyname(host.c_str());
}
#ifdef WIN32
while (!entry && WSAGetLastError() == WSATRY_AGAIN && --retry >= 0);
@@ -611,96 +611,6 @@ IceInternal::getAddress(const char* host, int port, struct sockaddr_in& addr)
}
void
-IceInternal::getLocalAddress(int port, struct sockaddr_in& addr)
-{
- char host[1024 + 1];
- if (gethostname(host, 1024) == SOCKET_ERROR)
- {
- SystemException ex(__FILE__, __LINE__);
- ex.error = getSystemErrno();
- throw ex;
- }
-
- memset(&addr, 0, sizeof(struct sockaddr_in));
- addr.sin_family = AF_INET;
- addr.sin_port = htons(port);
-
- {
- IceUtil::Mutex::Lock sync(getHostByNameMutex);
-
- struct hostent* entry;
- int retry = 5;
-
- do
- {
- entry = gethostbyname(host);
- }
-#ifdef WIN32
- while (!entry && WSAGetLastError() == WSATRY_AGAIN && --retry >= 0);
-#else
- while (!entry && h_errno == TRY_AGAIN && --retry >= 0);
-#endif
-
- if (!entry)
- {
- DNSException ex(__FILE__, __LINE__);
- ex.error = getDNSErrno();
- throw ex;
- }
-
- memcpy(&addr.sin_addr, entry->h_addr, entry->h_length);
- }
-}
-
-string
-IceInternal::getLocalHost(bool numeric)
-{
- char host[1024 + 1];
- if (gethostname(host, 1024) == SOCKET_ERROR)
- {
- SystemException ex(__FILE__, __LINE__);
- ex.error = getSystemErrno();
- throw ex;
- }
-
- {
- IceUtil::Mutex::Lock sync(getHostByNameMutex);
-
- struct hostent* entry;
- int retry = 5;
-
- do
- {
- entry = gethostbyname(host);
- }
-#ifdef WIN32
- while (!entry && WSAGetLastError() == WSATRY_AGAIN && --retry >= 0);
-#else
- while (!entry && h_errno == TRY_AGAIN && --retry >= 0);
-#endif
-
- if (!entry)
- {
- DNSException ex(__FILE__, __LINE__);
- ex.error = getDNSErrno();
- throw ex;
- }
-
- if (numeric)
- {
- struct sockaddr_in addr;
- memset(&addr, 0, sizeof(struct sockaddr_in));
- memcpy(&addr.sin_addr, entry->h_addr, entry->h_length);
- return string(inet_ntoa(addr.sin_addr));
- }
- else
- {
- return string(entry->h_name);
- }
- }
-}
-
-void
IceInternal::createPipe(SOCKET fds[2])
{
#ifdef WIN32