通过监听的fd获取对端地址

大耗子 2020年03月16日 236次浏览

文章链接:https://codemouse.online/archives/2020-03-16162906

通过监听的fd获取对端地址

void getipAddr(char ipbuf[], int fd)
{			

	struct sockaddr_storage addr;
	socklen_t len = sizeof(addr);

    // 获取数据放到sockaddr结构体
	printf("%d", getpeername(fd, (struct sockaddr*)&addr, &len));

	struct sockaddr_in *in = (struct sockaddr_in *)&addr;
    // 转换地址成为点分十进制
	inet_ntop(AF_INET, &in->sin_addr, ipbuf, MAXBUFLEN);
	
	fprintf(stdin, "%s\n", ipbuf);
}