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:
parent
b61414fb96
commit
fbe8569412
2 changed files with 29 additions and 0 deletions
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue