問題タブ [cfreadstream]

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 に答える
1295 参照

ios - ローカルファイルパスからデータの特定の部分をアップロードするための NSInputStream のサブクラス化

1 つのファイルに 100 MB のデータがあります。この 100 mb のデータは仮想的に分割されます。つまり、異なる 5MB チャンクを指す NSInputStream を作成する必要があります。これは、NSData でストリームを作成することで可能になります。

しかし、むしろ、ファイル内のデータの範囲を指す NSInputStream を持つことができるかどうか知りたいですか?

0 投票する
2 に答える
1768 参照

ios - iOS - 入力ストリームのデリゲートを別のクラスに設定する

入力ストリームのデリゲートを別のクラスに設定できるかどうか疑問に思っています。これまでのところ、私が遭遇したすべての例は self: [inputStream setDelegate:self]です。ViewControllernot selfのような別のクラスにデリゲートを設定したい。前もって感謝します。

0 投票する
1 に答える
1173 参照

ios - CFReadStreamRead が iOS 7 で永久にブロックされる

CFReadStreamReadストリーミング ファイル アップロードの一部として、が返されないという問題が発生しています。

これは iOS7 でのみ発生するようであり、シミュレーターよりも物理デバイスに対してデバッグする場合にはるかに頻繁に発生するか、少なくとも iOS7 でははるかに明白です。

ファイルのHTTP(またはHTTPS、問題はローカルでホストされているサーバーまたはリモートサーバーのいずれかで発生します)POSTを、直線のブロック(イベント駆動型ではない)CFNetwork呼び出しを介して行います。このハンドラーを呼び出す C コードの必要性です。コールバックの規定はありません。

それは良いことです。ネットワーク呼び出しはバックグラウンド スレッドおよび/または非同期ディスパッチを介して発生しています。

問題のネットワーク コードは次のようになります (簡潔にするためにエラー処理を削除しています)。

単独では、このコードは iOS7 のすぐ下でハングすることを望んでいます。その前にいくつかの呼び出しを含むループを追加すると (途中でusleep確認します)、ほとんどの場合成功します。数百回試行するたびに失敗し、二度と戻りません。繰り返しますが、メイン スレッドは影響を受けません。CFReadStreamHasBytesAvailable

GMがこの振る舞いを片付けてくれることを望みましたが、まだ存在しています.

バイトを使用できるイベントを監視するために runloop/callback メソッドを追加しても効果はありません。呼び出しがハングしても、イベントは表示されません。

なぜこれが起こっているのか、またはそれを防ぐ方法について何か提案はありますか? CFReadStreamiOS 7 で別の動作を見ている人はいますか?

0 投票する
0 に答える
632 参照

ios - CFReadStream からデータを読み取り、NSString に変換する

作成中の iPhone アプリケーションに問題があります。アプリは JSON 要求を Python サーバーに送信し、サーバーから JSON 応答を読み取ります。サーバーにデータを送信し、応答を取得して NSData に入れる次の関数があります。(投稿用のサーバーアドレスを取り出しました)

問題は、NSData を取得して NSString に変換しようとしたときに、長さが 0 であり、NSData の長さが 0 より大きいことです。次のコードは、NSData を取得して NSString に変換する方法です。

この問題は、約 10% の確率で発生するようです。1 時間も起こらないこともあれば、10 回連続で起こることもあります。これ以上の情報が必要な場合はお知らせください。

0 投票する
0 に答える
519 参照

c++ - OSX/IOS での CFReadStreamCreateForHTTPRequest の背後にある理由

最近、iOS/OSX 用の c++ で非同期 HTTP クライアントを作成しました。ヘッダーを含むストリームのプロパティとしてオブジェクトが潜んでいることに気付くまで (kCFStreamEventBytesAvailable イベントを処理した後)、CFHTTPMessageRef 応答オブジェクトにヘッダーが到着しない理由について混乱しました。

そのため、イベント ハンドラーを呼び出す前に、ストリーム終了の通知中にヘッダーをプロパティから応答オブジェクトにコピーします。

(コードはリクエストに応じて入手できます。かなりたくさんあります)

Apple のドキュメントは特徴的にこの件について沈黙しており、Apple によるこの設計上の決定の理由を誰かが知っているかどうか疑問に思っていました. どこかに根本的な誤解がある場合に備えて知りたいですか?

編集:ドキュメントには次のように書かれています:

実行ループでリクエストをスケジュールした後、最終的にヘッダー完了コールバックを取得します。この時点で、CFReadStreamCopyProperty を呼び出して、読み取りストリームからメッセージ応答を取得できます。

ただし、このイベント マスクの名前または値が何であるかについての指示はないようです。

kCFStreamEventOpenCompleted編集:いくつかの実験を行った後、ストリームは通知を送信した後、最初の通知の前に独自の応答オブジェクトを作成することがわかりましたkCFStreamEventHasBytesAvailable

kCFStreamEventHasBytesAvailableイベントハンドラーでこれを行うことができます:

ストリームの応答メッセージ オブジェクトは実際に新しい本文データで更新されます。なぜこれがストリームによって自動的に行われないのか、私は興味がありますか?

0 投票する
1 に答える
845 参照

facebook-graph-api - Facebook のレビューのために許可 (read_stream、publish_actions) を送信する方法

Facebook ページから共有されたユーザーのウォール投稿 (写真またはビデオ) を取得したいと考えています。graph.facebook.com/USER_ID/feedオプションを使用して、read_stream許可を介してこのデータを取得しています。必要なタスクに使用できる他のオプションはありますか?

必要に応じて、アプリを介してユーザーのウォールにステータスを投稿する必要があります。オプションを使用してpublish_actionsいます。

問題は、これらの権限を Facebook から確認する必要があることです。私はウェブサイトとアプリのレビューが必要なプライバシーポリシーの URL に取り組んでいます。これは、ローカル ホスト サイトのアドレスに基づいて審査のために送信できますか? プライバシー ポリシーの URL と利用規約の URL のオプションには何を記述すればよいですか? 私のウェブサイトは開発段階にあり、今後の作業のためにユーザーのアカウント データが必要です。