我有一个硬件设备采集单元。该设备本身充当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-推荐答案 strong>
您粘贴的代码基本上返回设备自己的IP地址,这根本没有帮助,除非您想猜测路由器的IP。您实际上可以获得正确的路由器IP地址,请参阅以下问题:
有了这个之后,你就可以通过普通的 TCP/IP 连接套接字轻松地连接到它,更多信息请参见以下链接:
或者为了让您更轻松,有几个社区库可以让连接到服务器变得轻而易举:
我的建议是先通读这些文档,这样你才能了解 iOS/OS X 中的网络基础知识(在这方面实际上与 Unix 非常相似)。尝试库和包装器后,您可以在 CocoaPods 上找到和 GitHub .如果您当时因某些特定问题而受阻,我们或许可以为您提供帮助。我们无法为您完成所有工作。
所以回答:是的,有可能。
关于ios - 以编程方式从 iPhone/iPad 连接到采集单元(WIFI 设备),我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/26864578/
|