C++ ioctl(…,SIOCGIFDSTADDR,…)有问题
地狱世界 我正在尝试开发一个将在ArduinoIDE上运行的Raspberry库。我的问题是: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%真实而非虚假
(...)
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?)