zoukankan      html  css  js  c++  java
  • 根据sockfd获取TCP连接本地地址以及对端地址

    摘抄自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:

    如果您觉得我的文章对您有帮助,可以扫码领取下红包,谢谢!

  • 相关阅读:
    Java面向对象(三)
    Java面向对象(二)
    Java面向对象(一)
    java基础(六)
    java基础(五)
    java基础(四)
    java基础(三)
    java基础2
    java基础
    计算机内存
  • 原文地址:https://www.cnblogs.com/jason1990/p/9923097.html
Copyright © 2011-2022 走看看