c++ - ioctl(...,, SIOCGIFDSTADDR, ...) 的问题
问题描述
你好世界!
我正在尝试开发一个将在 Arduino IDE 上运行的 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));
(...)
感谢阅读!:)
解决方案
推荐阅读
- apache-spark - spark delta 覆盖特定分区
- json - 如何使用 JSON_EXTRACT 或 JSON_EXTRACT_SCALAR 在 Big Query 中读取多级 JSON 数据
- php - 如何在 Laravel 中使用 Faker 格式化程序创建随机名称?
- python - 根据两个numpy数组上的多个条件创建numpy数组
- ios - UIViewController 的字典属性被设置但在 viewDidLoad() 中为空
- javascript - Marklogic 异常处理
- go - 使用字符串访问 []byte 类型的结构字段
- java - 如何在 JUnit 中测试这样的复杂方法?
- java - “BufferedReader”与“java.io.BufferedReader”。有关系吗?
- python - 如何在 Keras LSTM 网络中使批量大小大于 1?