問題タブ [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/TLSが有効になっCFStream
ているリモート サーバーにオブジェクトのペアを作成するコードがあります。このコードは OS X では問題なく動作しますが、iOS で実行すると失敗します。コンソールログは次のとおりです。
OSStatus エラー -108 は memFullErr のように見えますが、これは単純に奇妙で、どうすればよいかわかりません。これは、シミュレーターとデバイスの両方で発生します。Mac OS X アプリケーションでは、この問題なくコンパイルおよび実行されます。このエラーは、iOS 用にビルドされた場合にのみ発生します。
数時間かけてさまざまなアイデアを試し、多くの検索を行った結果、次のステップについてアドバイスを得ることができました。
コードは次のとおりです。
iphone - VoIP kCFStreamNetworkServiceTypeVoIP CFStreamオプションフラグはiOSのTCPサーバーソケットに有効ですか?
着信接続を処理するために使用されるTCPサーバーソケット(一部のポートでリッスン)があるiOSアプリケーションを作成していますが、kCFStreamNetworkServiceTypeVoIPオプションが有効かどうかを知りたいです。
ユースケースは、アプリケーションがバックグラウンドにあるときに新しい接続を処理できるようにする必要があるというものです。これは達成できますか?
洞察をありがとうございます。woodleg.as
iphone - iPhone:CFReadStreamReadは、バイトを符号なしではなく符号付きとして格納します
PCアプリからiPhoneにソケットデータを送信しています。データが到着すると、unsigned(uint8)ではなくsigned値として保存されます。したがって、127を超える値を取得できません。
0xFFを送信すると、デフォルトで0x3fに戻ります。
CFReadStreamReadはASCII文字専用ですか?もしそうなら、代替品は何でしょうか?
私のコード:
ios - iPhone の RakNet で CFStream を使用するには?
バックグラウンドで実行され、クライアントとサーバーの間で Raknet 転送データを使用する iPhone アプリを作成しようとしています。チュートリアルに従って、単純なチャット クライアントとサーバーを実行しました。
バックグラウンドでの実行時にアプリに着信データを通知したいのですが、データには RakNet が作成するソケットではなく CFStreams を使用する必要があるようです。これを行う方法はありますか?
macos - CFStream を介してデバイスから読み書きすることは可能ですか?
Mac OS X で CFStream を利用して、シリアル通信デバイスであるファイル記述子に非同期で読み書きできるようにしたいと考えています。ioctl を介してデバイス設定を制御および変更できるように、ファイル記述子にアクセスする必要があります。
ソケット指向のストリーム操作を使用すると、ネイティブ ソケット fd にアクセスできるように見えますが、CFCreateXxxStreamWithFile API を使用してファイルを開き、ファイル記述子を取得する方法は見たことがありません (その場合でも、読み取り/書き込みのオプションを設定できるように、同じ fd からのペアが本当に必要です) または既存のファイル記述子から CFStreams を作成する方法。
方法はありますか、それを可能にするライブラリがありますか (AyncCococaSocket に似ています)? それとも、独自のスレッド化操作や GCD (10.6 以降に制限される) を実行する必要がありますか?
手伝ってくれてありがとう!
ios - CFReadStreamRead への呼び出しがスレッドで実行を停止する
注:このプロジェクトのコード ベース全体が非常に大きいため、意味のある量を投稿すると、この質問がローカライズされすぎてしまいます。コードを必要最小限に絞り込もうとしました。誰かが私の問題を直接解決してくれるとは思っていませんが、役立つ、または興味をそそる回答には賛成票を投じます。
このプロジェクトでは、変更されたバージョンのAudioStreamerを使用して、デバイス (iPhone) にローカルに保存されているオーディオ ファイルを再生します。
ストリームは、このコードを使用して現在のループで設定およびスケジュールされます (私の知る限り、標準の AudioStreamer プロジェクトから変更されていません)。
ASReadStreamCallBack
呼び出し:
AudioStreamer オブジェクトでは、ストリームが次のコードを使用して読み取られるまで、これはすべて正常に機能します。
hasBytes
YES
しかし、がCFReadStreamRead
呼び出されて実行が停止すると、アプリケーションはクラッシュせず、エキサイティングに停止するだけです。CFReadStreamRead
呼び出しの下のブレークポイントはヒットせASReadStreamCallBack
ず、再度呼び出されません。
私はこれを引き起こす可能性のあるものに途方に暮れています.私の最善の推測は、スレッドが終了していることですか? しかし、方法と理由が私がSOに尋ねている理由です。
誰もこの動作を見たことがありますか? どうすればそれを追跡できますか、それを解決する方法についてのアイデアは大歓迎です!
コメントを介して要求された追加情報
- これは 100% 再現可能です
CFReadStreamHasBytesAvailable
デバッグのために私が追加しましたが、削除しても効果はありません
iphone - CFStreamSSLエラー-9800
私のiOSアプリには、サーバーとクライアントの2つのバージョンが含まれています。サーバーはBonjourを介してサービスを投稿し、クライアントを待ちます。クライアントはそのサービスを検索し、サーバーに接続します。その後、すべての通信はCFSocketsを介して実装されます。
このような通信用のストリームを設定するための私のコードは次のとおりです。
このコードでSSLをオンにすることは問題なく機能しますが、それ以外の場合はエラーが発生します。
どんな問題がありますか?
ありがとう!
objective-c - オーディオのアップロード-httpストリーミング
ストリーミングモードでhttpの下に線形ファイルをアップロードしようとしています。アイデアは、この手順を同時に実行することです。1)スレッド1:オーディオファイルを録音して一時ファイルに保存します。2)スレッド2:一時ファイルからnバイトを取得し、httpサーバーに送信します。
httpストリームを書き込むにはどうすればよいですか?、CFHTTPStreamでは、書き込みメソッドが表示されず、読み取りのみが行われました:sソケットを使用する必要がありますか?ありがとう!!!
私の実際のコードは
iphone - iPhone4.3用のSimpleURLConnectionを構築しようとしています
いくつかのテストを行うための基礎としてSimpleURLConnectionsを使用しました。デバイスで実行してターゲットビルドを4.3に設定するまでは、すべて正常に機能しました。次に、次のメッセージが表示され始めました。5.0より前のiOSをサポートしている場合は、CFStreamCreateBoundPairCompatを再度有効にする必要があります。この問題を解決するにはどうすればよいですか?
ありがとう。
objective-c - CFReadStreamRefとNSInputStream*
NSInputStream *
との違いはCFReadStreamRef
、最初のオブジェクトがObjective Cオブジェクトであり、2番目のオブジェクトがネイティブ構造体であるということです。それにもかかわらず、それらは無料のブリッジです。
ネットワークストリームに基づいたプログラムを実装したい。
[NSStream getStreamsToHost:port:inputStream:outputStream:]はとを生成
NSInputStream *
しNSOutputStream *
ます。ただし、iOSでは、この方法は使用できません。したがって、 iOSではCFStreamCreatePairWithSocketToHostを使用する必要があります。
/li>ストリームプロパティを設定する場合、を使用するとすべてのプロパティを使用できるわけではありません
NSInputStream *
。特に、kCFStreamPropertyShouldCloseNativeSocket
対応するストリームが閉じられたときにソケットも閉じられるようにすることは興味深いでしょう。このプロパティを設定するには、をに変換して
NSInputStream *
からCFReadStreamRef
、変換を元に戻して、このようなプロパティを設定する必要がありますか?..。
には複数のNSInputStream *
欠点があるようです。その場合、私はそれを提供することはできませんが、私がそれの独自のサブクラスを提供できることは本当に唯一の利点CFReadStreamRef
ですか?どの方法をいつ使用する必要がありますか?