summaryrefslogtreecommitdiff
path: root/Ivy/ThreadedSocket.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Ivy/ThreadedSocket.cxx')
-rw-r--r--Ivy/ThreadedSocket.cxx22
1 files changed, 22 insertions, 0 deletions
diff --git a/Ivy/ThreadedSocket.cxx b/Ivy/ThreadedSocket.cxx
index 7d43bb5..03b062e 100644
--- a/Ivy/ThreadedSocket.cxx
+++ b/Ivy/ThreadedSocket.cxx
@@ -70,6 +70,28 @@ void CThreadedSocket::GetSockName(ivy::string & rSocketAddress, UINT& rSocketPor
rSocketAddress = inet_ntoa(sockAddr.sin_addr);
}
+unsigned short int CThreadedSocket::GetLocalPort()
+{
+ int err;
+ struct sockaddr_in name;
+ socklen_t len = sizeof(name);
+
+ err = getsockname (m_hSocket, (struct sockaddr *)&name, &len );
+ if (err < 0 ) return 0;
+ return name.sin_port;
+}
+unsigned short int CThreadedSocket::GetRemotePort()
+{
+ int err;
+ struct sockaddr_in name;
+ socklen_t len = sizeof(name);
+
+ err = getpeername (m_hSocket, (struct sockaddr *)&name, &len );
+ if (err < 0 ) return 0;
+ return name.sin_port;
+}
+
+
/////////////////////////////////////////////////////////////////////////////
// CAscynSocket Operations