getsockname etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
getsockname etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

10 Ağustos 2017 Perşembe

getsockname metodu

Giriş
Socketin kullandığı yerel ip adresini döner. Şöyle yaparız.
struct      sockaddr_in addr;
socklen_t   addrLen = sizeof(addr);
if(getsockname(fd, (struct sockaddr*) &addr, &addrLen) == -1)
{
  string errStr = strerror(errno);
  return RETURN_FAILURE;
}
Bu noktadan sonra addr yapısında elimizdeki socketin ipv4 adresi bulunur. Bu yapıyı inet_ntop() çağrısına verip string'e çevirebiliriz. Şöyle yaparız.
char        bufferIp[INET_ADDRSTRLEN];

if(inet_ntop(AF_INET, &addr.sin_addr, bufferIp, INET_ADDRSTRLEN) == NULL)
{
  string errStr = strerror(errno);
  return RETURN_FAILURE;
}
string ip (bufferIp);