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

cocoa-touch - Cocoa 中的流类是否支持搜索?

我需要一个可以从内存流中读取和写入并支持查找的 Cocoa 类。在 C# 中,MemoryStream支持方法seek,在 Java 中,ByteArrayInputStream支持方法mark、、skipreset

在iOS开发中,等价的类和方法有哪些?

我的项目需要上述功能,如果默认情况下 iOS 框架不支持它,那么实现我自己的框架的最佳方法是什么?例如,编写我自己的流子类,继承自NSInputStream/NSOutputStream内部将包含自定义代码?

0 投票
1 回答
141 浏览

ipad - 如何使用输出流或任何有效的方式将数据保存到文件中?

我已经在我的应用程序中实现了应用购买,我需要从商店下载的内容会很大。这些天我一直在使用字典来存储从连接接收到的数据:didReceiveData,最后存储字典数据如果要下载的数据较少,则可以保存到一个文件中。

当要下载的产品很重时,我会遇到内存问题,因为我将整个数据存储在字典中。当我搜索一种机制时,我发现有人建议使用 outputStreams,它使我们能够将接收到的数据保存到运行时的文件。

任何人都可以通过示例实现帮助我如何实现它。

任何其他机制也值得庆幸。

谢谢

0 投票
1 回答
769 浏览

objective-c - 后台线程中的 NSInputStream 不调用 NSStreamEventHasBytesAvailable

我正在处理应用程序的流式传输部分。我需要将流式处理放在使用 NSinputstream 和 NSOutputstream 的后台线程上。然后我在同一个线程上通过这个流媒体通道发送 http 命令。我收到 NSStreamEventOpenCompleted 和 NSStreamEventHasSpaceAvailable 并且我在服务器端收到 http 请求,但它没有引发 EVENT HAS BYTES AVAILABLE 。而且我无法收到回复...我不知道是什么问题。这是我的代码的一部分:

我正在使用的线程:

0 投票
1 回答
934 浏览

ios - 使用 NSOutputStream 通过套接字发送到服务器时用换行符分隔数据 (JSON)

我正在制作一个 TCP 协议,其中应用程序将 JSON 发送到服务器,然后将 JSON 发回。我正在尝试用换行符分隔每个传输。这在服务器端很好,但是如何为每个 NSOutputStream 写入添加换行符?

流设置正确,这是我用来发送数据的代码:

您如何\n在末尾添加换行符(),肯定有办法吗?

0 投票
1 回答
338 浏览

objective-c - 多个流,1个文件?

我想使用多个 NSOutputStreams 将文件写入磁盘(每个都在不同的线程中)。我知道如何处理线程问题,但我不知道用什么来同时将不同的字节范围写入单个文件。

例如,假设写入过程完成时目标文件将在磁盘上为 100 MB。我有 4 个线程和 4 个流(我们将它们称为 s0、s1、s2 和 s3),它们想要将 25MB 写入目标文件。我希望每个流(s0-3)能够同时写入它们各自的目标字节范围(例如 s0 从 0MB-25MB 写入,s1 从 25MB-50MB 写入等)。每个流都是独立的,所以我可以知道哪个流将接收字节或何时接收。

谢谢。

0 投票
2 回答
4557 浏览

cocoa - 使用 NSOutputStream POST 到 url

所以我想做的就是向 url 发送一个 POST 请求。现在我尝试使用 NSURLRequest/NSURLConnection,但遇到问题并决定移到较低级别,也是因为我想发送大文件并认为直接处理流可能会更好。但是输出流委托似乎从未被调用,而且我似乎无法找到使用 NSOutputStream 的示例initWithURL

似乎在 init 之后 outputStream 为空,我无法理解,因为我的 url 是一个有效的 url——我可以从终端 ping 它并从其他来源发送数据。我做错了什么,或者谁能告诉我如何使用流向 URL 写入 POST 请求?谢谢。

0 投票
0 回答
613 浏览

iphone - 无法将数据写入 NSOutputStream

我正在尝试使用 NSOuptutStream 的写入方法将大型图像从服务器发送到客户端。但是我发现在写入 684032 字节后,流不再写入字节。我觉得这特别奇怪。我能够发送尺寸 < 680432 的图像并在客户端正确接收它们。下面附上代码片段。如果有人能指出我到底哪里出错了,那就太好了。

当我的代码挂起时,这是我留下的输出

...
2012-07-04 13:53:20.903 BasicClientServer[1707:f803] self.bufferoffset 681984 self.bufferlimit 1334301
2012-07-04 13:53:20.903 BasicClientServer[1707:f803] 服务器:写入字节数 1024
2012- 07-04 13:53:20.904 BasicClientServer[1707:f803] self.bufferoffset 683008 self.bufferlimit 1334301
2012-07-04 13:53:20.905 BasicClientServer[1707:f803] 服务器:写入的字节数 1024
2012-07-04 13: 53:20.906 BasicClientServer[1707:f803] self.bufferoffset 684032 self.bufferlimit 1334301

并且不会超出这一点

0 投票
3 回答
914 浏览

objective-c - 如何创建 NSOutputStream 的子类

我正在尝试编写 NSOutputStream 的子类来执行一个非常简单的功能 - 跟踪发送到流的字节总数。但是,我在初始化函数实例时遇到了意外问题。这是代码:

但是,当我尝试初始化此类时:

我收到以下错误:

我尝试向调用 super 的类添加一个显式构造函数,但它没有任何区别(因为它不应该)。

0 投票
1 回答
1921 浏览

ios - 当应用程序进入后台时关闭 NSStreams

我是 Objective C 和 ios 开发的新手。我通常使用 Java 编写 Android 应用程序,并且总是使用 onPause 调用来关闭我的套接字。但是,当我在 applicationWillResignActive 下调用我的关闭套接字方法时,我与我的流侦听器失去了通信,并且无法关闭输入和输出流。事实上,即使应用程序连接到服务器,两个流的流状态都显示 NSStreamStatusNotOpen 或 0。有任何想法吗?

谢谢

编辑

SocketHandler.m 类中的连接方法:

0 投票
1 回答
1726 浏览

ios - NSOutputStream 没有正确写入数据

使用 NSStreamEventHasSpace 可用事件,我试图将一个简单的 NSString 写入 NSOutputStream。以下是该活动的内容:

我几乎是从苹果那里得到的。数据在我的 viewDidLoad 方法中初始化

HasSpaceAvailable 事件被调用两次。在第一个中,整个消息都写有字符“N”。附加到它。第二次,NSLog 报告写入了一条空白消息(非空)。然后,发生 EndEncountered 事件。在那种情况下,我有

我也从苹果那里得到了这个。但是,“没有数据写入内存!” 已记录。任何时候都不会发生错误,而且另一端似乎没有收到任何数据。