问题标签 [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 投票
0 回答
272 浏览

tcp - NSStream 每次关闭时都不会调用它的委托

我有几个 NSStreams(进出 TLS)到服务器,我可以通过它们发送和接收数据就好了,但是在没有任何流量的情况下过了一段时间,可能 5 分钟后,连接似乎自行关闭,但我的代表确实没有用 NSStreamEventEndOccurred 调用,我只在尝试发送内容后得到 NSStreamEventErrorOccurred。

首先,连接不应该自行关闭,因为

-app 仍然处于活动状态

-设备未锁定

-它正在使用的wifi不会断开连接

- 远程服务器具有较长的 tcp 生命周期和 SO_KEEPALIVE 标志处于活动状态,iPhone 端在其本机套接字句柄上也处于活动状态。

尽管如此,我更关心为什么我的代表没有被调用而不是我的连接被关闭。

有任何想法吗?

谢谢

0 投票
0 回答
703 浏览

iphone - 直接使用 NSStream 是否有优势(相对于 CFNetwork、BSD 套接字等)

我熟悉几种不同的 TCP 连接方式(CFNetwork、BSD 套接字等),但我最近发现 NSStream 有“XXXwithURL:”API,它只允许使用 NSStream 进行 TCP 连接。以这种方式创建连接有什么好处吗?

另外,NSStream 和 CFStream 之间有什么联系?看起来它们是免费桥接的,但这是否意味着 NSStream 是建立在 CFStream 之上的?

0 投票
0 回答
447 浏览

ios - 应用程序恢复上的错误域 NSPOSIXErrorDomain

我的应用需要刷新简历上的内容。我正在使用 CFStream API 连接到我们的服务器。

有几次,当应用程序恢复时,即使有互联网连接,我也会收到错误代码 9 的 NSPOSIXErrorDomain 错误。

我应该在简历上做些什么特别的事情,例如在尝试连接之前稍等一下?另外,在挂起时我应该做些什么特别的事情(通过屏幕锁定按钮或主页按钮)?

0 投票
1 回答
1179 浏览

objective-c - 设置 SOCKS 代理配置后 CFStream 崩溃

下面的代码有什么问题?我使用 AsyncSocket 连接到 SOCKS 代理并在onSocketWillConnect委托方法上设置代理设置。如果我省略对的调用,CFReadStreamSetProperty套接字CFWriteStreamSetProperty连接将顺利进行。否则,我在没有可跟踪堆栈跟踪的已释放实例上得到 [Not A Type retain](它可能与 CFNetwork 相关?)。有谁知道什么给了?

0 投票
1 回答
308 浏览

iphone - 在 iOS 中将数据附加到 FTP 服务器上的文件

在从 Apple 的 SimpleFTPSample 项目中学习了基础知识之后,我尝试在我的 FTP 服务器上的 .txt 文件的末尾附加一个字符串。我成功地使用自定义字符串覆盖了现有文件,但我怀疑定义文件是否将被覆盖或附加的kCFStreamPropertyAppendToFile属性在 iOS 中不可用。

在 iOS 中推荐的方法是什么?

0 投票
2 回答
929 浏览

ios - MonoTouch 和 CFStream API 的问题

我目前正在开发一个需要通过套接字连接与 MQTT 服务器通信的应用程序。由于 System.Net.Sockets API 在从 WiFi 网络切换到 3G 网络时往往会出现异常行为(实际上这种情况经常发生),我决定尝试使用 CFStream API。在这样做的过程中,我遇到了几个问题,如下所示。

CreatePairWithSocketToHost只要我在其中一个流上调用 Open(),创建一对流就会使应用程序崩溃。

无论我是否打电话,都会发生崩溃EnableEvents()。例外是:

CreatePairWithSocket通过首先创建和连接 a来创建一对流CFSocket允许Open()继续进行而不会崩溃,但CanAcceptBytesEvent永远不会被触发,CanAcceptBytes()始终是错误的,并且任何写入尝试都会因超时而失败。

使用创建一对流CreatePairWithPeerSocketSignature是唯一实际产生一对我可以使用的流:打开不会崩溃,我可以分别写入和读取。

API 在模拟器和实际设备上都以这种方式运行。那么,这是我做错了吗?是 MonoTouch 的问题吗?它是 CFStream API 本身的错误吗?

MonoTouch 版本:6.0.1。XCode 版本:4.5。

0 投票
0 回答
875 浏览

objective-c - 在两个不同的线程中运行两个 NSStream

我的应用程序在一个单独的线程中运行一个网络任务——它从我的服务器获取数据,对其进行处理并持续显示结果。当我在一个线程中只有一个这样的网络连接时,这很好用。但是,如果我用类似的网络任务运行第二个线程,第二个工作正常,但第一个停止响应。我的班级安排网络进程的代码如下。关于这里可能出了什么问题的任何想法?

0 投票
0 回答
830 浏览

objective-c - iOS 中使用 NSOutputStream 的 FTPS

我正在尝试通过 SSL 在 FTP 上上传文件。我的代码适用于正常连接,但与 SSL 一起使用时,它会在以下方法中引发错误。错误是 NSStreamEventErrorOccurred。

我在iphone-ftps-client 的这个网站上查看了 soultion 。但是,答案是 FTPS 在 iOS [需要一个创建自己的库] 中没有内置支持,而另一个仅指向 FTP。

我的 FTP 服务器 [.crt] 上有证书,但由于我是新手,我无法理解该证书在客户端 [iOS] 上的用法。

任何人都可以在 FTPS 上帮助我,这将是一个很大的帮助。

0 投票
2 回答
691 浏览

ios - 比较 kCFFTPResourceType 和 number

我正在写一个FTP下载系统,列表功能:

我在服务器上看到我的文件:

接下来我想做的是:

*我的问题是比较错误,我怎么写才能工作?

0 投票
0 回答
418 浏览

ssl - ASIHTTP 请求:如何处理 SSL 证书

我在我的项目中使用 ASIHTTP,我需要支持带或不带客户端证书的 SSL 连接。在我看来,在 SSL 握手期间可能有四种情况:

  • 案例 A:服务器提供一个受信任的证书,但不要求客户端提供一个(例如https://www.gmail.com,...)

  • 案例 B:服务器提供一个自签名证书,但不要求客户端提供一个(例如https://www.cacert.org/images/cacert4.png

  • 案例 C:服务器提供一个受信任的证书并要求客户端提供一个

  • 案例 D:服务器提供一个自签名证书并要求客户端提供一个

ASIHTTP 毫无问题地支持案例 A。

案例 C 也受支持,但我必须在开始请求之前提供 SecIdentityRef:

不支持其他情况(没有完全关闭 CFStream 级别的证书验证,我不想这样做)。

对我来说,我希望 ASIHTTP 的正常行为是向代表询问案例 B、C 和 D。对于案例 B 和 D,应要求代表信任或不信任服务器证书(就像在 Web 浏览器中完成的那样) . 对于案例 C 和 D,还应要求代表提供证书。

ASIHTTP 基于 CFStream 连接。有没有办法配置 CFStream 以便它从案例 B、C 和 D 返回不同的错误?然后,检测这些错误并使用正确的回调通知委托?

谢谢你的帮助。