summaryrefslogtreecommitdiff
path: root/Ivy/ThreadedSocket.cxx
diff options
context:
space:
mode:
authorfcolin2009-10-08 13:07:04 +0000
committerfcolin2009-10-08 13:07:04 +0000
commit00e97f3decde46e85fba871a20aa79e27cb679e3 (patch)
tree31084ff19777b8cbe36b1eeb9d979370a33f79d7 /Ivy/ThreadedSocket.cxx
parent773d105e88a4323b844b378e599e2884310eaa50 (diff)
downloadivy-cplusplus-00e97f3decde46e85fba871a20aa79e27cb679e3.zip
ivy-cplusplus-00e97f3decde46e85fba871a20aa79e27cb679e3.tar.gz
ivy-cplusplus-00e97f3decde46e85fba871a20aa79e27cb679e3.tar.bz2
ivy-cplusplus-00e97f3decde46e85fba871a20aa79e27cb679e3.tar.xz
correction des bug connexion concurrente
correction sur le ready message attente des deux endRegexp
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