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:

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

  • 相关阅读:
    正则表达式复习 (?<=) (?=)
    HTML 30分钟入门教程
    C# 多线程详解
    C# List
    C# 枚举
    C# 线程数
    C# 泛型2
    C# 泛型
    C# 结构体
    不用Google Adsense的84个赚钱方法
  • 原文地址:https://www.cnblogs.com/jason1990/p/9923097.html
Copyright © 2011-2022 走看看