问题标签 [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.
iphone - CFStream + SSL 导致 OSStatus 错误 -108
我有一些代码可以为启用了SSL/TLSCFStream
的远程服务器创建一对对象。此代码在 OS X 上运行良好,但在 iOS 下运行时,它会失败。这是控制台日志:
OSStatus 错误 -108 似乎是 memFullErr,这很奇怪,我不太确定该怎么做。这发生在模拟器和设备上。它在 Mac OS X 应用程序中编译和运行时没有此问题。只有在为 iOS 构建时才会发生此错误。
在花了几个小时尝试各种想法和大量搜索之后,我可以使用一些关于下一步的建议。
这是代码:
iphone - VoIP kCFStreamNetworkServiceTypeVoIP CFStream 选项标志对 iOS 上的 TCP 服务器套接字有效吗?
我正在制作一个 iOS 应用程序,其中有一个 TCP 服务器套接字(侦听某个端口),用于处理传入连接,我想知道 kCFStreamNetworkServiceTypeVoIP 选项是否对它有效。
用例是我需要应用程序能够在后台处理新连接。这可以实现吗?
感谢您的见解。木腿文件
iphone - iPhone:CFReadStreamRead 将字节存储为有符号而不是无符号
从我的 PC 应用程序中,我将套接字数据发送到我的 iPhone。当数据到达时,它被存储为有符号值而不是无符号 (uint8)。所以我无法得到超过 127 的任何值。
当我发送 0xFF 时,它默认返回 0x3f。
CFReadStreamRead 是否仅适用于 ASCII 字符?如果是这样,什么是替代品?
我的代码:
ios - 如何在 iPhone 上使用 CFStream 和 RakNet?
我正在尝试创建一个将在后台运行并使用 Raknet 在客户端和服务器之间传输数据的 iPhone 应用程序。我按照教程来运行一个简单的聊天客户端和服务器。
我希望应用程序在后台运行时收到传入数据的通知,但看起来我必须对数据使用 CFStreams 而不是 RakNet 创建的套接字。有没有办法做到这一点?
macos - 是否可以通过 CFStream 读取/写入设备?
我想利用 Mac OS X 上的 CFStream 来异步读取/写入作为串行通信设备的文件描述符。我需要访问文件描述符,以便可以通过 ioctl 控制和更改设备设置。
虽然在使用面向套接字的流操作时似乎可以访问本机套接字 fd,但我还没有看到任何方法可以使用 CFCreateXxxStreamWithFile API 打开文件然后获取文件描述符(即使那样,我也会真的需要来自同一个 fd 的一对,所以我可以设置读/写选项)或从现有文件描述符创建 CFStreams 的方法。
有没有办法,或者是否有允许这样做的库(类似于 AyncCococaSocket)?还是我被降级为我自己的线程操作和/或 GCD(这会将自己限制在 10.6 及更高版本)?
感谢帮助!
ios - Call to CFReadStreamRead stops execution in thread
NB: The entire code base for this project is so large that posting any meaningful amount wold render this question too localised, I have tried to distil any code down to the bare-essentials. I'm not expecting anyone to solve my problems directly but I will up vote those answers I find helpful or intriguing.
This project uses a modified version of AudioStreamer to playback audio files that are saved to locally to the device (iPhone).
The stream is set up and scheduled on the current loop using this code (unaltered from the standard AudioStreamer project as far as I know):
The ASReadStreamCallBack
calls:
On the AudioStreamer object, this all works fine until the stream is read using this code:
hasBytes
is YES
but when CFReadStreamRead
is called execution stops, the App does not crash it just stops exciting, any break points below the CFReadStreamRead
call are not hit and ASReadStreamCallBack
is not called again.
I am at a loss to what might cause this, my best guess is the thread is being terminated? But the hows and whys is why I'm asking SO.
Has anyone seen this behaviour before? How can I track it down and ideas on how I might solve it will be very much welcome!
Additional Info Requested via Comments
- This is 100% repeatable
CFReadStreamHasBytesAvailable
was added by me for debugging but removing it has no effect
iphone - CFStream SSL 错误 -9800
我的 iOS 应用程序包含 2 个版本:服务器和客户端。服务器通过 Bonjour 发布服务并等待客户端。客户端搜索该服务并连接到服务器。之后,所有通信都通过 CFSockets 实现。
这是我为此类通信设置流的代码:
如果没有在此代码上打开 SSL 的部分工作正常,但否则我会收到错误消息:
会是什么问题?
谢谢!
objective-c - Upload audio - http streaming
I'm trying to upload a linear file under http in streaming mode. The idea is do this steps simultaneously, 1) Thread 1: record an audio file and store it in a temp file 2) Thread 2: Take n bytes from temp file and send it to an http server.
How can I write an http stream?, On CFHTTPStream I did not see write methods, only read :s Do I need use sockets? Thanks!!!
My actual code is
iphone - 尝试为 iPhone 4.3 构建 SimpleURLConnection
我以 SimpleURLConnections 为基础做了一些测试。一切正常,直到我尝试在我的设备上运行它并将目标构建设置为 4.3。然后我开始收到以下消息:如果您支持 5.0 之前的 iOS,则必须重新启用 CFStreamCreateBoundPairCompat。知道如何解决这个问题吗?
谢谢。
objective-c - CFReadStreamRef 与 NSInputStream *
NSInputStream *
和之间的区别CFReadStreamRef
似乎是第一个是客观的 C 对象,而第二个是本机结构。然而,它们是免费桥接的。
我想实现一个基于网络流的程序。
[NSStream getStreamsToHost:port:inputStream:outputStream:]产生
NSInputStream *
和NSOutputStream *
. 但是,在 iOS 上,此方法不可用。因此,必须在 iOS 上使用CFStreamCreatePairWithSocketToHost 。
/li>设置流属性时,使用时并非所有属性都可用
NSInputStream *
。特别是kCFStreamPropertyShouldCloseNativeSocket
确保在关闭相应的流时也关闭套接字会很有趣。我是否必须将 转换
NSInputStream *
为 aCFReadStreamRef
才能设置此属性,然后还原转换以设置此类属性?...
NSInputStream *
似乎有多个缺点。它的唯一优势真的是我可以提供它自己的子类,而在这种情况下我不能这样做CFReadStreamRef
吗?什么时候应该使用哪种方法?