1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 11:38:11 +00:00

LibCore: Add local_{address,port} functions to CTCPServer

This commit is contained in:
Conrad Pankoff 2019-10-07 19:07:24 +11:00 committed by Andreas Kling
parent b61414fb96
commit fbe8569412
2 changed files with 29 additions and 0 deletions

View file

@ -53,3 +53,29 @@ RefPtr<CTCPSocket> CTCPServer::accept()
return CTCPSocket::construct(accepted_fd);
}
IPv4Address CTCPServer::local_address()
{
if (m_fd == -1)
return {};
sockaddr_in address;
socklen_t len = sizeof(address);
if (getsockname(m_fd, (sockaddr*)&address, &len) != 0)
return 0;
return IPv4Address(address.sin_addr.s_addr);
}
u16 CTCPServer::local_port()
{
if (m_fd == -1)
return 0;
sockaddr_in address;
socklen_t len = sizeof(address);
if (getsockname(m_fd, (sockaddr*)&address, &len) != 0)
return 0;
return ntohs(address.sin_port);
}