菜鸟教程小白 发表于 2022-12-12 12:40:53

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


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

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

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

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

            }

      }

      temp_addr = temp_addr-&gt;ifa_next;
    }
}
// Free memory
freeifaddrs(interfaces);
return address;
</code></pre>

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

<p>请帮帮我..</p>

<p>谢谢</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您粘贴的代码基本上返回设备自己的IP地址,这根本没有帮助,除非您想猜测路由器的IP。您实际上可以获得正确的路由器IP地址,请参阅以下问题:</p>

<ul>
<li> <a href="https://stackoverflow.com/questions/2113580/objective-c-how-to-fetch-the-router-address" rel="noreferrer noopener nofollow">Objective-C : How to fetch the router address?</a> </li>
<li> <a href="https://stackoverflow.com/questions/24887904/how-to-get-wi-fi-router-ip-address-on-ios" rel="noreferrer noopener nofollow">How to get Wi-Fi router IP address on iOS?</a> </li>
<li> <a href="https://stackoverflow.com/questions/16470615/is-it-possible-to-get-the-ssid-mac-address-of-currently-connected-wifi-network" rel="noreferrer noopener nofollow">Is it possible to get the SSID &amp; MAC Address of Currently connected WiFi Network in an App</a> </li>
</ul>

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

<ul>
<li> <a href="https://stackoverflow.com/questions/18170620/socket-connection-in-ios" rel="noreferrer noopener nofollow">Socket Connection in IOS</a> </li>
<li> <a href="http://www.raywenderlich.com/3932/networking-tutorial-for-ios-how-to-create-a-socket-based-iphone-app-and-server" rel="noreferrer noopener nofollow">http://www.raywenderlich.com/3932/networking-tutorial-for-ios-how-to-create-a-socket-based-iphone-app-and-server</a> </li>
<li> <a href="https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/NetworkingTopics/Articles/UsingSocketsandSocketStreams.html" rel="noreferrer noopener nofollow">https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/NetworkingTopics/Articles/UsingSocketsandSocketStreams.html</a> </li>
<li> <a href="https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/Streams/Articles/NetworkStreams.html" rel="noreferrer noopener nofollow">https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/Streams/Articles/NetworkStreams.html</a> </li>
</ul>

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

<ul>
<li> <a href="https://github.com/pkyeck/socket.IO-objc" rel="noreferrer noopener nofollow">https://github.com/pkyeck/socket.IO-objc</a> </li>
<li> <a href="https://github.com/dreese/FastSocket" rel="noreferrer noopener nofollow">https://github.com/dreese/FastSocket</a> </li>
</ul>

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

<p><strong>所以回答:是的,有可能。</strong></p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 以编程方式从 iPhone/iPad 连接到采集单元(WIFI 设备),我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/26864578/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/26864578/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 以编程方式从 iPhone/iPad 连接到采集单元(WIFI 设备)