結果を得るためにNSStreamを同期的に呼び出す方法は?現在、私はそのデリゲートメソッドの1NSStreamを同期的に呼び出す方法
`(void)stream:(NSStream *)theStream handleEvent:(NSStreamEvent)streamEvent`-
結果を得るためにNSStreamを同期的に呼び出す方法は?現在、私はそのデリゲートメソッドの1NSStreamを同期的に呼び出す方法
`(void)stream:(NSStream *)theStream handleEvent:(NSStreamEvent)streamEvent`-
に戻っNSStream
を非同期呼び出しを取得しています
は読まないまたはストリームにデータを書き込むどちらもという抽象クラスです。実際にデータにアクセスするには、NSInputStream
またはNSOutputStream
(またはカスタムサブクラスNSStream
)などの具象サブクラスが必要です。 NSInputStream
read:maxLength:
でデータを読む。ストリームをポーリングして、新しいデータがあるかどうかを尋ねて、hasBytesAvailable
とします。 NSOutputStreamには、write:maxLength:
とhasSpaceAvailable
のメソッドがあります。
ポスティングを避け、代わりに非同期コールバックデリゲートメソッドに応答して実行ループスケジューリングを使用することを強くお勧めします。
別のスレッドで実行している場合は、ポーリングする必要はありません。入力ストリームから読み込むだけで、データが利用可能になるまでブロックされます。ストリームは閉じられ、エラーが発生します。レスポンスはposixの動作をエミュレートします.0はストリームが閉じられたことを意味し、-1はエラーが発生したことを意味します。正の数は、ストリームから読み取られた実際のバイトを意味します。 – JugsteR
なぜデータを同期して取得したいのですか? – TheEye