根据sockfd获取TCP连接本地地址以及对端地址
程序员文章站
2022-10-27 15:35:03
摘抄自muduo代码实现。 获取本地地址(LocalAddr): 获取对端地址(PeerAddr): PS: 如果您觉得我的文章对您有帮助,可以扫码领取下红包,谢谢! ......
摘抄自muduo代码实现。
获取本地地址(localaddr):
1 struct sockaddr_in6 sockets::getlocaladdr(int sockfd) 2 { 3 struct sockaddr_in6 localaddr; 4 bzero(&localaddr, sizeof localaddr); 5 auto addrlen = static_cast<socklen_t>(sizeof localaddr); 6 if (::getsockname(sockfd, sockaddr_cast(&localaddr), &addrlen) < 0) 7 { 8 log_syserr << "sockets::getlocaladdr"; 9 } 10 return localaddr; 11 }
获取对端地址(peeraddr):
1 struct sockaddr_in6 sockets::getpeeraddr(int sockfd) 2 { 3 struct sockaddr_in6 peeraddr; 4 bzero(&peeraddr, sizeof peeraddr); 5 auto addrlen = static_cast<socklen_t>(sizeof peeraddr); 6 if (::getpeername(sockfd, sockaddr_cast(&peeraddr), &addrlen) < 0) 7 { 8 log_syserr << "sockets::getpeeraddr"; 9 } 10 return peeraddr; 11 }
ps:
如果您觉得我的文章对您有帮助,可以扫码领取下红包,谢谢!
上一篇: C++容器和迭代器实例讲解
下一篇: 一图分析js.到引用里面的值