以编程方式从iPhone / iPad连接到采集单元(WIFI设备)

时间:2014-11-11 12:07:57

标签: ios iphone ipad sockets wifi

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

我听说使用IP地址和端口号我们可以使用套接字编程连接到wifi路由器。但我对使用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路由器,请帮我解决一些代码或想法。

请帮帮我..

由于

1 个答案:

答案 0 :(得分:2)

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

完成此操作后,您可以通过普通的TCP / IP连接套接字轻松连接到它,有关详细信息,请参阅以下链接:

或者为了让事情变得更加轻松,有一些社区库可以轻松连接到服务器:

我的建议是首先阅读这些文档,以便了解iOS / OS X中的网络基础知识(在这方面实际上与Unix非常相似)。在尝试了CocoaPodsGitHub上可以找到的库和包装器之后。如果您在此时遇到某些特定问题,我们可能会帮助您。我们无法为您完成所有工作。

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