问题标签 [cfstream]

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 投票
1 回答
3141 浏览

ios - CFStreamCreatePairWithSocketToHost 在 Swift 中意外崩溃

终于有时间在这里问我的第一个问题了!

前期:Xcode 7.1.1、OS 10.11.2、iOS 9.0.2(在物理设备上)

我正在编写一个与我的 Raspberry Pi 通信的小应用程序。我有一些从教程借来的用 Obj-C(适用于 iOS 7)编写的工作代码,在 Obj-C中对我来说一切正常(与 Pi 连接并按预期运行)。问题在于为 Swift/iOS 9 重写它(这是目标)。

好的一点:

我相信问题出在上面,因为这是堆栈中的最后一个方法调用,但是应用程序在几乎没有信息的情况下安静地崩溃:

崩溃屏幕

任何帮助将非常感激!
请随时询问更多信息。

ps 我知道这个网站上的格式是相当“严格”的,任何我错过的、过度的等等,请让我知道 :)

0 投票
0 回答
264 浏览

ios - CFStream:NSOutputStream 不工作

我正在开发需要向 Android Socket 服务器发送消息的 iOS 应用程序。

我正面临一个奇怪的情况。如果我连续在 NSOutputStream 中写入数据,那么 Android 设备会收到消息,但是,如果我将代码写入 While 循环或任何 If 条件,则它不起作用。

在上面的代码中,它不断地写入 NSOutputstream 和 Android 设备获取数据。但是如果我取消注释 If 条件,那么它将不起作用。任何帮助将不胜感激。

0 投票
1 回答
186 浏览

ios - CFStreamCreateBoundPair 无法释放

我使用CFStreamCreateBoundPair创建一对流以上传大文件。代码如下所示。

除了内存问题,一切都很顺利。我检查了 Instruments 并发现CFStreamCreateBoundPair无法释放缓冲区大小的内存,在这种情况下,两者都关闭后为 1M CFReadStream。我CFWriteStream也有一个屏幕截图。

仪器屏幕截图 我对 swift 中的 Core Foundation 框架不太熟悉,不知道为什么它不能自动发布。

0 投票
1 回答
1156 浏览

objective-c - 目标 C TCP 套接字

我正试图围绕目标 c tcp 套接字连接到服务器,我使用了这两个教程中的代码:https ://www.raywenderlich.com/3932/networking-tutorial-for-ios-how -to-create-a-socket-based-iphone-app-and-serverhttps://gist.github.com/rjungemann/446256。我注意到,当我尝试将数据发送出去时,它不会发送,直到我停止应用程序(此时在服务器上接收到),遵循两个教程时的相同行为,下面的相关代码:

0 投票
1 回答
571 浏览

swift - SWIFT - 如何为服务器获取流

在客户端,我们可以使用 CFStreamCreatePairWithSocketToHost 来获取 ReadStream 和 WriteStream。

服务器得到clientSocket后,我们如何得到ReadStream和WriteStream?

0 投票
1 回答
85 浏览

ios - 在 iOS 中以编程方式无法访问带有空格的 FTP 目录名称

我必须使用空格访问文件夹名称,但我收到 550 错误,这意味着文件不存在。

ftp://192.xxx.xx.x/C/xxx/xxxx/ xxx xxx xxx /5mb.jpg

我可以访问到此路径的目录 ftp://192.xxx.xx.x/C/xxx/xxxx/

但之后,由于目录名称(粗体)中有空格,因此无法访问。

0 投票
1 回答
696 浏览

swift - 带有 TLS 的 CFStream

是否可以CFStream使用 TLS 1.2 进行通信?如果是,最好的方法是什么?设置 aSSLContext或设置CFReadStreamSetProperty? 不幸的是,我找不到任何例子。

0 投票
0 回答
435 浏览

ios - Swift TCP客户端检查连接ipv4

如果 Wifi 连接处于活动状态并且我在网络 192.168.1.xxx 上并尝试建立连接:

在我知道连接状态之前,延迟是 2 分钟。检查 nil readStream writeStream inputStream outputStream 没有帮助 请帮助解决这个问题 使用简单 Ping 不适合,因为 ping 无法对特定端口进行 ping。由于这个端口有一个 TCP 服务器启动

0 投票
0 回答
105 浏览

ios - 如何修复服务类型设置为 VoIP 的 SocketStream 泄漏?

Xcode 报告 SocketStream 对象在流关闭后泄漏。泄漏可以在 iPhone 上可靠地重现,但不能在模拟器或 Mac 上重现。

流是用 来创建的CFStreamCreatePairWithSocketToCFHost,然后使用、关闭和释放,每次都会留下另一个 SocketStream。

我检查了 Instruments 中的保留历史记录,发现每次关闭读写流时,SocketStream 的保留计数为 2。(我猜这两个保留是_CTServerConnecionCreateWithIdentifier从 CoreTelephony 完成的)

保留

查看这些流的使用方式,我注意到它的网络服务类型属性设置为 VoIP(或CFStreamNetworkServiceTypeVoIPNSStreamNetworkServiceTypeVoIP)。我注释掉了这些行,泄漏就消失了。

那么,关闭 VoIP 服务流的正确方法是什么?它是否与 VoIP 弃用有关?

0 投票
1 回答
436 浏览

ios - 未调用流委托

我正在尝试通过 TLS 在 iPhone 和 BeagleBone Black Wireless 之间发送数据。但是,我遇到了一些奇怪的问题。这个问题的问题是为什么stream(_:handle:)不调用委托方法。我已经阅读了文档和其他 StackOverflow 问题,但我的代码已经考虑了他们的问题。

这是我的变量:

这是我打开流的代码:

这是我的代码中出现的委托方法(它由 Xcode 自动完成,所以没有问题):

但是由于某种原因,这个方法永远不会被调用。事实上,我尝试发送数据,通过写入outputStream,BBBW实际上成功接收到消息!(虽然,如果我再次尝试发送消息,我会收到Connection reset by peer错误消息。)