問題タブ [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.
objective-c - NSInputStream を開く BAD_ACCESS
以下は、ログ ファイルを FTP にアップロードするための私のコードです。[mInputStream open] を実行するとクラッシュすることがあります。XCode で BAD_ACCESS が表示されます。大きなサイズのファイルをアップロードしたことが原因である可能性があります。ただし、ファイルサイズが小さい場合でも BADACCESS が発生することがあります。だから私はサイズが主な理由ではないと思います。誰でも助けることができますか?どうもありがとう。
objective-c - バックグラウンド スレッドの NSInputStream が NSStreamEventHasBytesAvailable を呼び出さない
アプリケーションのストリーミング部分に取り組んでいます。NSinputstream と NSOutputstream を使用するバックグラウンド スレッドにストリーミング プロセスを配置する必要がありました。次に、同じスレッドのこのストリーミング チャネルを介して http コマンドを送信します。NSStreamEventOpenCompleted と NSStreamEventHasSpaceAvailable を受け取り、サーバー側で http リクエストも受け取りますが、 EVENT HAS BYTES AVAILABLE は発生しません。そして、私は応答を受け取ることができません...私は何が問題なのか分かりません。ここに私のコードの一部があります:
私が使用しているスレッド:
cocoa - Cocoa: (非常に) 大きなファイルを POST する
Cocoa では、コードに Content-Disposition フラグと Content-Type フラグを追加しながら、割り当ての問題を引き起こすほど大きなファイルを POST するにはどうすればよいでしょうか?
現在、NSMutableURLRequest を割り当て、ヘッダーを設定し、本文の NSMutableData オブジェクトを初期化し、本文に初期フラグのバイトを追加し、ファイルのバイトを本文に追加しています。定期的に送信する必要があるファイルの 1 つが大きすぎるため、割り当ての問題を回避できます。
NSMutableURLRequest が本体に NSInputStream を使用できることはわかっていますが、それでも、新しいファイルを作成し、必要なフラグを追加してから、元のファイル全体をコピーする必要があります。これは実用的な解決策ではなく、避けたいと思います。
objective-c - NSXMLParser initWithStream の使用: パーサー デリゲート メソッドを受信しませんでした
私が取り組んでいる基本的な問題は、NSStream
クラスを使用して着信増分 XML データを解析することです。データは決して完全な XML ドキュメントではありませんが、ソケットがどれだけ読み取れるかに基づいて、増分チャンクで受信して処理したいと考えています。
のドキュメントを見ると、a を初期化する方法が私の問題に対する完璧な解決策のようですNSXMLParser
。パーサーを で初期化してから、デリゲートを呼び出す必要があるソケット経由でデータを受信するたびにメソッドを呼び出すことができます。initWithStream:
NSXMLParser
NSInputStream
parse
NSXMLParser
NSXMLParser
ただし、呼び出されているデリゲートは見られません。呼び出されている唯一のメソッドは、ストリーム delegatestream:handleEvent:
です。Apple やその他の開発者によるこの API の例はほとんどないようです。私が間違っていること、またはinitWithStream:
正しく使用する方法についてのアイデアはありますか?
ContentParser.h
ContentParser.m
objective-c - NSInputStream データレートを正しく測定する方法
ftp ダウンロード中の実際の転送速度を測定しようとしています。ダウンロード自体は機能しており、ストリームは実行ループに接続されています。測定は、イベントの開始時に CFTimeGetCurrent を使用して NSStreamEventHasBytesAvailable で行われ、最後にデータがファイルに書き込まれた後、経過時間は (double)previousTimestamp-CFAbsoluteTimeGetCurrent で計算されますが、取得した時間はまったく不合理です。シミュレーターとデバイスでテストされていますが、誰か教えてもらえますか?
コード:
iphone - NSInputStreamは、サーバーからプルダウンされたファイルではなく、ローカルファイルを処理します
やあみんな、私はウェブサーバーからyamlファイルをプルダウンしています。私NSInputStream
はローカルのyamlファイルでうまく機能します(file://filename.yaml urlスキームを使用)
関連するコードスニペットは次のとおりです。
yaml urlはhttp:// myip:8000 / asset / test.yamlのようなものです。ブラウザで開くと、ファイルがダウンロードされます...
何かご意見は?
ios - アプリがバックグラウンドになったら NSStreams を閉じる
私はObjective Cとiosの開発が初めてです。私は通常、Android アプリを Java でプログラミングし、常に onPause 呼び出しを使用してソケットを閉じました。しかし、applicationWillResignActive の下でクローズ ソケット メソッドを呼び出すと、ストリーム リスナーとの通信が失われ、入力ストリームと出力ストリームを閉じることができません。実際、アプリがサーバーに接続されていても、両方のストリームのストリーム ステータスに NSStreamStatusNotOpen または 0 が表示されます。何か案は?
ありがとうございました
編集
SocketHandler.m クラスの Connect メソッド:
iphone - NSInputStream/NSOutputStream を使用して TCP 経由で通信する (iPhone)
iPhoneでNSInputStream/NSOutputStreamを使ってTCP通信を行うことはできますか? Apple がドキュメントで提供している例では [NSStream getStreamsToHost] を使用していますが、これは iPhone ではサポートされていません。CFStream を使用してソケットをセットアップし、NSStream にブリッジする他の投稿を見たことがありますが、サポートされている唯一の方法ですか?
ドキュメントに基づくと、理論的には次のように機能するはずです。
ただし、これには 2 つの問題があります。
1) iStream 部分だけを実行すると、デリゲートで呼び出されたイベントは表示されません。
2) outputStreamWithURL は、CFWriteStreamSetProperty 内からの不可解な「EXC_BAD_ACCESS」エラー メッセージで失敗します。
instance - iOSは、2つの異なるクラスのオブジェクトの単一インスタンスにアクセスします
クラスAにオブジェクトのインスタンスを作成し、クラスBからオブジェクトの同じインスタンスにアクセスすることは可能ですか?NSInputStreamとNSOutputStreamを使用してTCPソケットを作成するアプリを開発しようとしていますが、それにアクセスするには複数のクラスが必要です。
ありがとう、トラビスエリオット
編集
これが私が使っているコードです。そのソケット接続を扱うプログラム。基本的に、appDelegateとViewコントローラーから同じソケットと通信できる必要があります。これが私があなたの助けに基づいて持っているコードです。私はappDelegateをコントロール(あなたの例ではD)として使用していますが、おそらくこれはできません。CommunicationHubは、AppDelegateとViewControllerの両方からの同じインスタンスを制御するために必要なクラスです。
AppDelegate.h
AppDelegate.m
ViewController.h
ViewController.m
CommunicationHub.h
CommunicationHub.m
objective-c - NSInputStream サブクラスで open を呼び出す
NSInputStream をサブクラス化しようとしていますが、サブクラスで open を呼び出すと、「open only defined for abstract class」という例外でプログラムがクラッシュします。他のメソッドの中で open を実装する必要があると書かれている NSStream のドキュメントを読みましたが、すでに動作している open メソッドを持つ NSInputStream をサブクラス化しています。
上記の例外の理由は何ですか? 理解できない言語概念はありますか? 誰か教えてください。