Added TcpListener::GetLocalPort()
git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/branches/sfml2@1480 4e206d99-4929-0410-ac5d-dfc041789085
This commit is contained in:
parent
87f712e0c6
commit
507f467390
5 changed files with 38 additions and 3 deletions
|
@ -159,7 +159,7 @@ IpAddress IpAddress::GetLocalAddress()
|
|||
priv::SocketImpl::Close(sock);
|
||||
|
||||
// Finally build the IP address
|
||||
localAddress.myAddress = address.sin_addr.s_addr;
|
||||
localAddress = IpAddress(ntohl(address.sin_addr.s_addr));
|
||||
|
||||
return localAddress;
|
||||
}
|
||||
|
|
|
@ -41,6 +41,25 @@ Socket(Tcp)
|
|||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
unsigned short TcpListener::GetLocalPort() const
|
||||
{
|
||||
if (GetHandle() != priv::SocketImpl::InvalidSocket())
|
||||
{
|
||||
// Retrieve informations about the local end of the socket
|
||||
sockaddr_in address;
|
||||
priv::SocketImpl::AddrLength size = sizeof(address);
|
||||
if (getsockname(GetHandle(), reinterpret_cast<sockaddr*>(&address), &size) != -1)
|
||||
{
|
||||
return ntohs(address.sin_port);
|
||||
}
|
||||
}
|
||||
|
||||
// We failed to retrieve the port
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
Socket::Status TcpListener::Listen(unsigned short port)
|
||||
{
|
||||
|
|
|
@ -30,8 +30,8 @@
|
|||
#include <SFML/Network/Packet.hpp>
|
||||
#include <SFML/Network/SocketImpl.hpp>
|
||||
#include <SFML/System/Err.hpp>
|
||||
#include <algorithm>
|
||||
#include <string.h>
|
||||
#include <algorithm>
|
||||
#include <string.h>
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(disable : 4127) // "conditional expression is constant" generated by the FD_SET macro
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue