问题标签 [nsstream]

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 投票
2 回答
11445 浏览

iphone - NSStream, UTF8String & NSString... 凌乱的转换

我正在构建一个要通过 NSStream 发送到服务器的数据包。我正在尝试用“§”(ascii 代码 167)分隔两条数据。这是构建服务器的方式,所以我需要尽量保持在这些范围内......


所以最终的结果应该是这样的......并且它在第一次构造 sendData 时是这样的:


但是,当它在服务器端收到时,它看起来像这样:


...分隔符字符串的长度变为两个,并且最后一个字母从命令中被裁剪。我相信这是由 UTF8 转换引起的。

任何人都可以为我阐明这一点吗?

任何帮助将不胜感激!

0 投票
18 回答
154834 浏览

objective-c - Objective-C: Reading a file line by line

What is the appropriate way of dealing with large text files in Objective-C? Let's say I need to read each line separately and want to treat each line as an NSString. What is the most efficient way of doing this?

One solution is using the NSString method:

and then split the lines with a newline separator, and then iterate over the elements in the array. However, this seems fairly inefficient. Is there no easy way to treat the file as a stream, enumerating over each line, instead of just reading it all in at once? Kinda like Java's java.io.BufferedReader.

0 投票
1 回答
3204 浏览

cocoa-touch - NSStream SSL 连接问题

我正在使用带有 SSL 属性的 NSStream 进行套接字连接。当我使用 192.168.1.77 等本地 IP 地址时,它工作正常。但是如果我使用任何像 www.xyz.com 这样的服务器(它具有 SecurityLevelTLSv1),它会显示错误错误代码:-9843,消息:无法完成操作。(NSUnknownErrorDomain 错误 -9843。)

这是我的代码:

我尝试同时使用 NSStream 和 CFStream。在这两种情况下,我都会遇到相同的错误。

NSStreamEventOpenCompleted 和 NSStreamEventErrorOccurred 事件被调用。

请帮助我。

提前致谢。

拉梅什

0 投票
1 回答
1913 浏览

iphone - NSStream在委托方法handleEvent:eventCode之外读\写

在 iPhone 应用程序中,我有一个通过 wifi 的套接字连接,我需要从 inputStream 读取并写入 outputStream。问题是流管理是事件驱动的,我必须等待事件 NSStreamEventHasBytesAvailable 才能读取。所以我不知道什么时候在handleEvent:eventCode委托方法之外读\写。

我尝试了一个while循环,但我意识到在while循环期间应用程序没有收到委托消息并且永远不会停止:

伪代码:

我想我可以在委托方法内读\写,但在此之外我需要读\写很多次。

帮助!谢谢

0 投票
1 回答
6959 浏览

iphone - 使用的套接字上的 NSStream SSL

我正在编写一个在 iphone 上使用 NSStream 的 SSL 功能的应用程序。我知道 SSL 正在工作,因为我可以使用 SSL 直接连接服务器。
我遇到了一个问题,使用 starttls 的协议要求我在不安全的套接字上进行通信,发送 starttls 命令,然后为 SSL 重用相同的套接字。据我所知,nsstream 连接无法重复使用,并且在打开连接后我无法在它们上启动 SSL。

我考虑过创建自己的套接字,手动进行通信,然后使用现有套接字设置 NSstream 并以这种方式启动 SSL。但是,似乎套接字上的通信将其置于我无法在其上启动 SSL 的状态。任何将套接字用于 nsstream 的尝试都会导致错误。

有什么想法吗?

0 投票
1 回答
1413 浏览

iphone - iPhone SDK:手机到手机文件传输

将文件从 iPhone 复制到 iPhone (p2p) 的最简单方法是什么。

我能想到的唯一方法是:

  • 使用 Bonjour 发现服务器应用程序(它将通过 Bonjour 做广告)

  • 使用 NSStream(或套接字),然后从对等点到对等点的文件中流式传输数据(读取文件块,发送文件块等等,直到读取整个文件)

是否有一种 API/方法可以处理所有流数据,并且只需从一个地方复制一个文件,而无需使用流或套接字进行低级编程(类似于http://msdn.microsoft.com/en-us/library /ms740565(VS.85).aspx )?

我想我也可以通过建立会话使用 GameKit 和流数据,但似乎 Baonjour 提供了更多的灵活性。

谢谢

0 投票
1 回答
1980 浏览

iphone - 流式传输 JPEG,检测 JPEG 结束

我创建了一个 java 服务器,它可以截取屏幕截图,调整它们的大小,然后通过 TCP/IP 将它们发送到我的 iPhone 应用程序。然后应用程序使用 NSInputStream 收集传入的图像数据,使用字节缓冲区创建一个 NSMutableData 实例,然后创建一个 UIImage 对象以在 iPhone 上显示。屏幕共享,本质上。我收集图像数据的 iPhone 代码目前如下:

正如代码中的注释所示,我的问题是确定何时停止在 NSMutableData 对象中收集数据,并使用这些数据创建 UIImage。在传入字节中查找 JPEG 文件结束标记——图像结束 (EOI) 标记 (FFD9)——似乎是有意义的,因为在发送时图像将准备好显示。我该如何测试呢?我要么遗漏了有关数据如何存储的信息,要么遗漏了 JPEG 文件中的标记,但是对此测试的任何帮助将不胜感激!

詹姆士

0 投票
1 回答
2238 浏览

objective-c - 在 iPhone 上录制音频并使用 NSOutputStream 通过网络发送

我正在编写一个 iPhone 应用程序,它需要从内置麦克风录制音频,然后将该音频数据发送到服务器进行处理。

该应用程序使用套接字连接连接到服务器并使用音频队列服务进行录制。我不确定何时实际发送数据。音频队列服务每次在缓冲区中填充一些音频数据时都会触发回调。NSOutputStream 每次有可用空间时都会触发一个事件。

我的第一个想法是在音频队列回调中将数据发送到服务器。但是,如果 NSOutputStream 当时没有可用空间,这似乎会遇到问题。

然后我考虑缓冲从音频队列返回的数据,并在每次 NSOutputStream 触发可用空间事件时发送一些数据。但这似乎有问题,如果发送到服务器先于音频录制,则会出现在可用空间事件上没有任何内容可写的情况,因此不会再次触发该事件并且数据传输将有效地停止。

那么处理这个问题的最佳方法是什么?我是否应该有一个重复触发的计时器并查看是否有可用空间以及需要发送的数据?此外,我认为我需要进行一些线程同步,以便我可以从缓冲区中取出数据块以通过网络发送,但也可以在录制进行时将数据块添加到缓冲区,而不会冒损坏缓冲区的风险。

0 投票
2 回答
2337 浏览

cocoa - 可可 NSStream TCP 连接到 FTP

我是 Cocoa 的新手,但不是编程新手。最近我决定要为 Mac 编写一个 FTP 客户端,所以我首先用我最熟悉的语言(在 Windows 上)编写它,然后当我的 FTP 通信工作失败时转向 Cocoa。

我的问题(显然)有点争议:如何建立到(ftp 服务器)的读/写连接?

到目前为止我所拥有的(显然没有工作):

部分基于http://developer.apple.com/mac/library/documentation/cocoa/Conceptual/Streams/Articles/NetworkStreams.html 现在,我为什么选择 NSStream?因为虽然这个问题只是关于如何连接到 FTP 流,但我的整个项目也将包括 SSL,而且据我在这里和谷歌上搜索到的,NSStream 能够“切换”到 SSL 连接。

我无法看到正在建立的连接(我通常能够做到),但我也听说过必须在流打开之前写入流?

任何指针都非常感谢,如果我的问题很烦人,我很抱歉 - 我是 Cocoa 的新手 :)

0 投票
1 回答
1929 浏览

iphone - 从 CFStreamCreatePairWithSocketToHost 获取数据的问题

我正在构建一个带有 PC 应用程序套接字的 iPhoe 应用程序,我需要从此 PC 应用程序获取图像。这是我第一次使用“CFStreamCreatePairWithSocketToHost”。在使用“NSOperation”建立套接字后,我调用

然后我打电话 然后当我得到“kCFStreamEventHasBytesAvailable”时,我使用 这是不可预知的,有时我了解整个情况,有时我只了解其中的一部分,我不明白是什么让不同。有人可以知道这里有什么问题吗?谢谢