OGeek|极客世界-中国程序员成长平台

标题: ios - 以编程方式从 iPhone/iPad 连接到采集单元(WIFI 设备) [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 12:40
标题: ios - 以编程方式从 iPhone/iPad 连接到采集单元(WIFI 设备)

我有一个硬件设备采集单元。该设备本身充当wifi路由器,它将发送数据。我想从 iPhone/iPad 连接它。

我听说使用 IP 地址和端口号我们可以使用套接字编程连接到 wifi 路由器。但是我不知道这个socket程序使用IP地址和端口号连接到wifi。

为此,我尝试使用以下代码获取连接的 wifi 路由器的 IP 地址。

NSString *address = @"error";
struct ifaddrs *interfaces = NULL;
struct ifaddrs *temp_addr = NULL;
int success = 0;
// retrieve the current interfaces - returns 0 on success
success = getifaddrs(&interfaces);
if (success == 0) {
    // Loop through linked list of interfaces
    temp_addr = interfaces;
    while(temp_addr != NULL) {
        if(temp_addr->ifa_addr->sa_family == AF_INET) {
            // Check if interface is en0 which is the wifi connection on the iPhone
            if([[NSString stringWithUTF8String:temp_addr->ifa_name] isEqualToString"en0"]) {
                // Get NSString from C String
                address = [NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *)temp_addr->ifa_addr)->sin_addr)];

            }

        }

        temp_addr = temp_addr->ifa_next;
    }
}
// Free memory
freeifaddrs(interfaces);
return address;

如果可以使用 ip 地址和端口号连接到 wifi 路由器,请你帮我一些代码或想法。

请帮帮我..

谢谢



Best Answer-推荐答案


您粘贴的代码基本上返回设备自己的IP地址,这根本没有帮助,除非您想猜测路由器的IP。您实际上可以获得正确的路由器IP地址,请参阅以下问题:

有了这个之后,你就可以通过普通的 TCP/IP 连接套接字轻松地连接到它,更多信息请参见以下链接:

或者为了让您更轻松,有几个社区库可以让连接到服务器变得轻而易举:

我的建议是先通读这些文档,这样你才能了解 iOS/OS X 中的网络基础知识(在这方面实际上与 Unix 非常相似)。尝试库和包装器后,您可以在 CocoaPods 上找到和 GitHub .如果您当时因某些特定问题而受阻,我们或许可以为您提供帮助。我们无法为您完成所有工作。

所以回答:是的,有可能。

关于ios - 以编程方式从 iPhone/iPad 连接到采集单元(WIFI 设备),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26864578/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4