问题标签 [nsoutputstream]

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 投票
3 回答
614 浏览

ios - iOS:NSInputStream / NSOutputStream - CFNetwork SSLHandshake 失败 (-9806)

我正在尝试打开安全服务器的输入/输出流,但不断收到 CFNetwork SSLHandshake failed (-9806)

我已经为异常域等设置了 plist 值

我也在 plist 中试过这个:

这是我的代码:

在引发CFNetwork SSLHandshake failed (-9806)错误之前,流打开后有大约 5 秒的延迟。

注意:安全服务器不是我的,我不能在那里更改任何设置。它是一个经过测试和建立的服务器,有许多用户在流式传输

0 投票
1 回答
79 浏览

ios - 将 AudioUnit 回调与 NSOutputStream 同步

我正在使用音频单元录制音频,然后将该数据写入一个 NSOutputStream,它是我用来通过 HTTP 发布该数据的绑定对的一部分。我的问题是音频单元录制回调和 NSOutputStream hasSpaceAvailable 回调完全相互独立,所以我很快就会遇到缓冲区不足。有没有办法同步这两者或将录音回调直接映射到 NSOutputStream?

0 投票
1 回答
131 浏览

ios - 通过 wifi 使用 gcdasyncsocket 发送和接收键/值对

我制作了一个 iOS 应用程序,它从 BLE 信标接收 RSSI 值并通过 wifi 将其发送(使用 GCDAsynSocket)到连接的 MacBook。我在 MacBook 上的下一个应用程序接收 RSSI 值并以 .txt 格式保存(使用 NSOutpuStream 类)。现在,我需要从八个不同的 BLE 信标发送 RSSI 值,并以键/值对的形式发送它们各自的 MAC 地址。我尝试使用 NSKeyedArchiver 将 NSDictionary 编码为 NSData 来解决它。

在接收器端(MacBook),我使用 NSUNarchiver 进行解码。我无法提取包含键/值(MAC 地址/RSSI 值)对的 NSDictionary 并将其存储到 .txt 文件中。此外,由于 NSoutputStrteam 写入方法采用非空 const uint8_t 值,我如何在 .txt 文件中写入键/值对?我使用 Objective-C 和 Xcode (7.0)。

谢谢你。

0 投票
0 回答
36 浏览

ios - 无法使用 MPC 在 ios 中为同一对等方创建第二个流

表格的每一行都包含一首歌曲。选择一行时。当前流已关闭,并为相同的对等点创建新流并发送。在接收端,我检测到来自同一对等方的重复流,并将它们替换为我用来存储输入流的数组。但问题是接收者没有收到正在发送的第二个流

这是 initWithOutputStream 方法的代码

以及 outputStreamForPeer 的代码

0 投票
0 回答
221 浏览

networking - InputStream 从不调用 hasBytesAvailable

我正在尝试让 iOS 设备通过 Bonjour 相互发现,然后与 InputStream 和 OutputStream 连接。

设备可以相互连接,但从一个设备的 OutputStream 发送字节不会触发另一台设备上的“hasBytesAvailable”事件。

因为我希望设备与多个其他设备连接,所以我将每个连接包装在一个“ASPeer”对象中,我可以将其放入一个数组中以跟踪我的所有连接。

我已经为我的输入和输出流的每个“句柄”事件添加了打印语句。以下是我运行应用程序并尝试让设备相互通信时的输出日志:

当我尝试从设备 1 向设备 2 发送消息时,我希望设备 2 打印出“inputHasBytesAvailable”。但是,我只是从设备 1 中获得了额外的“outputHasSpaceAvailable”行:

可能是什么问题?我已经仔细检查了我的运行循环并确保它们是正确的。此外,“getInputStream”似乎存在一个错误,我确保在主队列上调用“getInputStream”以避免该问题。还有什么我想念的吗?

此外,我还有一个 BonjourManager 对象来管理这些“ASPeer”连接中的每一个。BonjourManager 是实际创建连接并将写入发送到 OutputStreams。

0 投票
1 回答
105 浏览

swift - (NS)StreamDelegate - 写入关闭时没有错误

使用 写入文件时OutputStream,在该流关闭后,没有错误,它默默地写入失败。

开始:

代表正在工作:
func stream(_ aStream: Stream, handle eventCode: Stream.Event) {
//Will report that stream was opened.

...写一些文字-成功...

没别的了。没有写入文本,但没有报告错误。
写入关闭的流不会触发错误吗?也就是说,我们应该在写入之前检查流状态吗?

0 投票
0 回答
128 浏览

ios - ios - NSOutputStream 不写入数据

我正在下载一个文件并将其字节写入NSOutputStream

然后,在 aNSURLSessiondidReceiveResponse回调中:

并且,一旦收到第一个字节:

当我第一次尝试将数据写入流时执行停止:write:maxLength:返回-1。

为了找出发生这种情况的原因,我实现了一个委托方法handleEvent: eventCode:

出于某种原因,只有在初始化流时放置以下代码行时才会调用它:

并返回描述NSStreamEventErrorOccurredNo such file or directory尽管该目录被仔细检查是否存在。

0 投票
1 回答
106 浏览

objective-c - NSOutputStream 和 URLSessionUploadTask (__psynch_mutexwait) 的死锁

我们的 OSX 应用程序正在使用将多个文件上传到服务器

上传时,上传卡住了。一些文件设法成功上传,有时文件更多,有时文件更少。

查看调试导航器,我可以看到我的流线程显示了两个要stream:handleEvent委托的调用(一个接一个;第 11 帧和第 5 帧),这将我指向我调用 write:maxLength on 的代码行,NSOutputStrem在第__psynch_mutexwait0 帧之后。此时应用程序被卡住,没有网络调用可以完成执行。

在此处输入图像描述
有人遇到过这个问题吗?任何帮助表示赞赏,谢谢。

0 投票
1 回答
32 浏览

ios - 用于写入更大 CSV 文件的 CHCSVWriter 内存使用情况

我想在将数据写入 CSV 文件时尽量减少内存使用量。

对于更大的表,它使用更多的内存,即使它是临时的。

有人可以建议如何减少内存使用吗?

也许我可以将更大的表的操作分开,编写更多文件然后合并它们,但我还没有尝试过,也许我错过了一些明显的东西。

这是当前使用的代码:

我之前也尝试过这个逻辑 - 更干净一些,但结果相同:

0 投票
2 回答
279 浏览

ios - 将大视频文件路径转换为 ​​NSData 时出现内存问题。如何使用 InputStream/FileHandle 来解决这个问题?

我的文档目录中保存了一个大型视频。我想检索这个视频并删除它的前 5 个字节。对于超过 300 MB 的大型视频文件,使用 [NSData(contentsOf: videoURL)] 会导致内存问题错误。

我通过Swift:Loading a large video file (over 700MB) into memory 发现我们需要使用 [InputStream] 和 [OutputStream] 或 [NSFileHandle] 处理大文件。如何使用它?

示例代码如下: