问题标签 [gcdasyncudpsocket]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
338 浏览

swift - UDP 和 GCDAsyncUDP 的 ARP 问题

我正在构建一个 Swift 桌面应用程序,它使用 GCDAsyncUDPSocket 通过 UDP 与网络上的多个硬件设备进行通信。对于初始扫描,我创建一个套接字并发送一个广播消息并监听响应。当我收到来自设备的响应时,会为该设备创建一个唯一的非广播套接字,用于所有其他通信。

通过我的有线以太网时,这几乎可以完美运行。但是,当通过 WiFi 时,我看到 Wireshark 中不断返回 ARP 请求,其中许多请求的响应是错误的 MAC 地址,用于应该接收消息的接口。

我一直在寻找两天来试图找到一个经过验证的真正解决 ARP 问题的方法,但没有任何运气。

我在 GCDAsync 文档中看到,使用 sendData toAddress 而不是 toHost 将包含 MAC 地址,但无法弄清楚如何使用我的接口详细信息创建地址 NSData 对象来尝试这个,甚至不确定这是否将解决 ARP 问题。

这是我的广播套接字的当前代码:

0 投票
0 回答
319 浏览

ios - 从 iPhone 发送 udp 广播。仅适用于调试器模式。当我安装相同的 IPA 时不工作

使用 GCDAsyncudpSocket 从广播地址发送 udp 数据包和监听数据。
当我从 mac OS X Yosmite(Xcode -> device ipad air 8.2)的调试器模式运行应用程序时,它工作正常。当我在设备中安装 IPA 时它不起作用。

这是我使用的以下代码:****send****

受到 :

立即帮助将不胜感激。谢谢

0 投票
0 回答
212 浏览

ios - GCDAsyncUdpSocket,如何知道什么时候没有收到数据

我正在开发一个 iOS 应用程序。我有一个目标,只要我向它发送数据,它就会向我发送响应。我已经实现了 GCDAsyncUdpSocket,我可以毫无问题地发送和接收数据。我想处理没有从目标发回数据的情况。这是我发送的:

在我收到数据的情况下,这称为:

但如果什么都没有寄回,我怎么知道呢?发送数据后是否有标志或通知或我可以评估的内容以了解是否收到了某些内容?

0 投票
0 回答
199 浏览

objective-c - 我无法为 iphone 找到类似的发现代码

我在这里给出代码。我正在尝试在 iPhone 中制作类似的代码。但不能正确地做到这一点。任何人都可以帮助我。它是服务器发现代码。

也尝试过使用 UDP Socket 代码,但没有得到实际结果。需要让它正常工作,就像我在这里发布代码一样。

在 iOS 中尝试过以下代码:

但出现以下错误:

接收错误:错误域 = GCDAsyncUdpSocketErrorDomain 代码 = 1 “必须先绑定套接字,然后才能接收数据。您可以通过绑定显式执行此操作,或通过连接或发送数据隐式执行此操作。” UserInfo=0x7f9fc25613a0 {NSLocalizedDescription=必须绑定套接字才能接收数据。您可以通过绑定显式执行此操作,或通过连接或发送数据隐式执行此操作。}

我不知道这是否是正确的代码。请给我建议。

0 投票
1 回答
1645 浏览

objective-c - 通过所有可用的网络接口使用 GCDAsyncUdpSocket 进行 UDP 广播

我正在使用 GCDAsyncUdpSocket 广播 UDP 数据包以搜索我的 NAS 设备。

下面是发送和接收UDP数据包的代码片段

上面的代码只能通过单个网络接口发送数据包,即 Wifi 或以太网或 Thunderbolt,问题是我想通过所有可用的网络接口进行广播。(以太网、WiFi、Thunderbolt 等)。

有什么方法可以同时通过所有可用的网络接口(以太网、WiFi、Thunderbolt 等)并使用相同的端口进行广播。

任何帮助表示赞赏,在此先感谢。

0 投票
1 回答
436 浏览

ios - 在 iOS 9 上禁用 WiFi 辅助 UDP 传输

我想使用 GCDAsyncUdpSocket 在本地网络中发送 UDP 包。我担心的是,由于 iOS 9 新引入的“WiFi 辅助”,UDP 包将在某些时候通过 LTE 发送。有什么方法可以假装 iOS 9 将我的流量传递到蜂窝网络,而是要求它始终使用无线网络?

非常感谢您的任何想法!

0 投票
0 回答
296 浏览

ios - GCDAsyncUdpSocket接收广播udp时经常丢失udp数据

当我使用 GCDAsyncUdpSocket 接收广播数据时,我可以在我的 Ipad、iphone6s、iphone6 上接收数据,它们都可以。但是当我使用我的 Iphone4s、Iphone5 时,我经常丢失广播数据。这是我的代码

}


代码很简单,但是很奇怪,有谁知道吗?

0 投票
0 回答
387 浏览

swift - 使用 GCDAsyncUdpSocket 进行拨号发现

我正在尝试使用 GCDAsyncUdpSocket 来发现网络上的 DIAL 设备。我已成功使用 Netflix 的官方 C++ 客户端来发现设备,如此所述,但我想避免在我的 Swift 项目中使用 C++ 或 Objective-C++ 类。这是我的发现类,它报告正在创建和打开的套接字,但什么也没收到。是否有人精通 DIAL 足以看出我哪里出错了?

0 投票
1 回答
42 浏览

ios - 比较从 NSUTF8StringEncoding 生成的 NSString 时出错

我使用我的应用程序通过以下方法接收数据:

即使我发送“LEDCube”,if 语句总是返回 0,这让我无法更进一步。

从 NSLog 中,输入的内容是“LEDCube”。因此,我怀疑问题出在 NSUTF8StringEncoding 上。如何处理这个问题?

先感谢您

0 投票
0 回答
230 浏览

ios - 警告“无明确所有权”问题存档项目 XCode

在 Xcode 7.2.1 中,当我存档我的项目时遇到问题,我的应用程序使用 WebSocket 并且我正在使用 CocoaAsyncSocket 库,应用程序在模拟器或任何设备上运行,但是存档时,xcode 向我显示此错误警告:

在方法中的类 GCDAsyncUdpSocket 中:

警告错误:

我确实尝试了另一个答案,例如:

问题 1 ,问题 2问题 3

但是如果我需要一个id 委托dispatch_queue_t,我该如何解决这个 ARC 问题

为什么只有在需要归档项目时才会出现此问题?

编辑 1 有人知道 ARC 在这种情况下如何处理间接返回吗?因为错误警告仅在方法中显示:

.h 文件:

在 .m 文件中:

我可以在 iOS 模拟器和任何真实设备上运行项目,问题只是当我想要存档项目时,如果我执行 Product>Analyze 或 Product>Build For> Running 或 Testing,运行完美,但是当我执行 Product>Archive 时或 Product> Build For>Profiling 出现错误警告

谢谢!