C++ ioctl(…,SIOCGIFDSTADDR,…)有问题

C++ ioctl(…,SIOCGIFDSTADDR,…)有问题,c++,c,linux,sockets,raspberry-pi,C++,C,Linux,Sockets,Raspberry Pi,地狱世界 我正在尝试开发一个将在ArduinoIDE上运行的Raspberry库。我的问题是: (EthernetClient库)我想获得套接字另一端的IP(考虑到A(客户端)连接到B(服务器或其他) 为此,我将使用带有SIOCGIFDSTADDR参数的«ioctl» 我在Raspberry上执行运行客户端和服务器的测试。(IP=127.0.0.1,端口=8080,本地连接) 我的代码返回(其他IP或网关)(例如208.180.243.182或208.100.245.182;100%真实而非虚假

地狱世界

我正在尝试开发一个将在ArduinoIDE上运行的Raspberry库。我的问题是:

  • (EthernetClient库)我想获得套接字另一端的IP(考虑到A(客户端)连接到B(服务器或其他)
  • 为此,我将使用带有SIOCGIFDSTADDR参数的«ioctl»
  • 我在Raspberry上执行运行客户端和服务器的测试。(IP=127.0.0.1,端口=8080,本地连接)
  • 我的代码返回(其他IP或网关)(例如208.180.243.182或208.100.245.182;100%真实而非虚假)
  • 有什么想法吗

    我的相关代码:

      (...)
      struct ifreq conB;
      ioctl(sockfd, SIOCGIFDSTADDR, &conB, sizeof(conB));
      printf("IP of the remote connection = %s\n",
      inet_ntoa(((struct sockaddr_in*)&conB.ifr_dstaddr) -> sin_addr));
      (...)
    

    感谢阅读!:)

    ioctl用于点对点连接。dest addr是您在连接调用中输入的任何内容。我尝试使用套接字客户端和dest addr,但我收到相同的。。。我的插座是AF_INET和SOCK_STREM,但我想这不是我的问题(可能是其他ioctl?)