【问题标题】:Connect to Acquisition unit(WIFI device) from iPhone/iPad programmatically以编程方式从 iPhone/iPad 连接到采集单元(WIFI 设备)
【发布时间】:2015-01-07 23:35:56
【问题描述】:

我有一个硬件设备采集单元。该设备本身充当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 路由器,请您帮我一些代码或想法。

请帮帮我..

谢谢

【问题讨论】:

    标签: ios iphone ipad sockets wifi


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • 非常感谢 Legoless。我没有要求提供全部源代码。当然,我会尝试使用您的链接。再次感谢您长时间的解释...
    • 还有一件事。我正在使用上面的代码使用路由器。我现在已经检查过了。我正在获取路由器地址。但是我已经多次尝试获取路由器的端口号。如果您知道,请帮助我。谢谢
    • 你应该知道路由器的端口号,通常设备制造商会提供这个。您可以使用某种网络命令行工具来解决这个问题(例如 nmap)。然后将端口硬编码到您的应用程序中。可能有许多端口打开,但您没有指定要连接的服务器类型。如果是 HTTP 服务器,尝试 80 端口,或者查看其他常用端口。
    • 非常感谢您的支持。我会尝试你的评论。再次感谢。
    猜你喜欢
    • 2020-07-23
    • 1970-01-01
    • 1970-01-01
    • 2011-07-29
    • 1970-01-01
    • 2014-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多