问题标签 [nsinputstream]

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 回答
579 浏览

objective-c - NSInputStream open BAD_ACCESS

The below is my code to upload log files to FTP, and the problem is sometimes it crashes when execute [mInputStream open]. XCode show me BAD_ACCESS. I guess it may result from uploading a big-size file. However, BADACCESS sometimes happens, even file size is small. So I guess size is not the main reason. Anyone can help? Thanks a million.

0 投票
1 回答
769 浏览

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

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

我正在使用的线程:

0 投票
0 回答
172 浏览

cocoa - Cocoa:发布一个(非常)大的文件

在 Cocoa 中,您将如何发布足够大的文件以导致分配问题,同时仍然在代码中附加 Content-Disposition 和 Content-Type 标志?

现在,我们正在分配一个 NSMutableURLRequest,设置标题,为正文初始化一个 NSMutableData 对象,为正文中的初始标志附加字节,然后将文件的字节附加到正文中。我们需要定期发送的文件之一就是太大了,以避免分配问题。

我知道 NSMutableURLRequest 也可以将 NSInputStream 带到正文中,但这仍然意味着我必须创建一个新文件,附加必要的标志,然后将整个原始文件复制到其中。这不是一个实际的解决方案,我想避免它。

0 投票
2 回答
2579 浏览

objective-c - 使用 NSXMLParser initWithStream:没有收到解析器委托方法

我正在处理的基本问题是使用NSStream类来解析传入的增量 XML 数据。数据从来都不是一个完整的 XML 文档,但我想根据套接字可以读取的数量以增量块的形式接收和处理它。

查看文档NSXMLParser,似乎initWithStream:初始化 a 的方法NSXMLParser将是我的问题的完美解决方案。我可以用 a 初始化解析器,NSInputStream然后每当我通过我的套接字接收数据时调用该parse方法,这又应该调用委托。NSXMLParserNSXMLParser

但是,我没有看到任何被调用的委托,我看到的唯一被调用的方法是流委托stream:handleEvent:。Apple 或其他开发人员似乎几乎没有此 API 的示例。关于我做错了什么或如何initWithStream:正确使用的任何想法?

内容解析器.h

内容解析器.m

0 投票
1 回答
650 浏览

objective-c - 如何正确测量 NSInputStream 数据速率

我正在尝试测量 ftp 下载期间的实际传输速度,下载本身正在运行,流连接在运行循环中。在事件开始时使用 CFTimeGetCurrent 在 NSStreamEventHasBytesAvailable 中完成测量,最后,在将数据写入文件后,使用 (double)previousTimestamp-CFAbsoluteTimeGetCurrent 计算经过的时间,但我得到的时间绝对不合理。在模拟器和设备上测试过,有人能启发我吗?

代码:

0 投票
2 回答
1562 浏览

iphone - NSInputStream 使用本地文件,而不是从服务器拉下的文件

嘿伙计们,我正在从网络服务器上下载一个 yaml 文件。我NSInputStream的本地 yaml 文件效果很好(使用 file://filename.yaml url 方案)

这是相关的代码片段:

其中 yaml url 类似于 http://myip:8000/assets/test.yaml 在浏览器中打开只会导致文件下载...

有什么想法吗?

0 投票
1 回答
1921 浏览

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

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

谢谢

编辑

SocketHandler.m 类中的连接方法:

0 投票
1 回答
2482 浏览

iphone - 使用 NSInputStream/NSOutputStream 通过 TCP (iPhone) 进行通信

是否可以在 iPhone 上使用 NSInputStream/NSOutputStream 进行 TCP 通信?苹果在其文档中提供的示例使用 [NSStream getStreamsToHost] 并且 iPhone 不支持该示例。我看过其他使用 CFStream 设置套接字然后桥接到 NSStream 的帖子,这是唯一受支持的方式吗?

根据文档,理论上应该是这样的:

但是,这样做有两个问题:

1)如果我只做 iStream 部分,我永远不会看到我的委托调用任何事件。

2) outputStreamWithURL 失败并显示来自 CFWriteStreamSetProperty 的神秘“EXC_BAD_ACCESS”错误消息

0 投票
1 回答
1179 浏览

instance - iOS access a single instance of an object from two different classes

Is it possible to create an instance of an object in class A and access that same instance of the object from class B? I am trying to develop an app that creates a TCP Socket using NSInputStream and NSOutputStream and need more than one class to be able to access it.

Thank you, Travis Elliott

edit

Here is the code I am working with. Its a program that deals with socket connections. I basically need to be able to communicate to the same socket from my appDelegate and View controller. Here is the code I have based on your help. I am using the appDelegate as the control(D in your example), perhaps I cannot do this. CommunicationHub is the class I need to control the same instance of from both AppDelegate and ViewController.

AppDelegate.h

AppDelegate.m

ViewController.h

ViewController.m

CommunicationHub.h

CommunicationHub.m

0 投票
0 回答
159 浏览

objective-c - 在 NSInputStream 子类上调用 open

我正在尝试对 NSInputStream 进行子类化,但是当我在子类上调用 open 时,程序会因“仅为抽象类定义的打开”异常而崩溃。我阅读了 NSStream 的文档,其中说我需要在其他方法中实现 open ,但我正在继承 NSInputStream ,它已经有一个可以工作的 open 方法,这对我来说很好。

上述异常的原因是什么?有没有我不明白的语言概念?有人请赐教。