1

我真的不明白這個事件。 我希望當發送隊列(或類似的內部結構)完成發送先前寫入的數據包時調用當NSStream NSStreamEventHasSpaceAvailable事件被調用?

這是一個正確的假設嗎?


我工作的一個視頻流處理器在Multipeer連接,我想用這個屬性來決定我是否應該放棄相機框架(如果沒有NSStreamEventHasSpaceAvailable),或者我可以提交它NSOutputStream

想象一下,藍牙連接,我真的需要刪除很多相機幀,而不是提交每個幀到NSStream

回答

6

NSStreamEventHasSpaceAvailable事件表示您可以將寫入(至少一個字節!)到沒有阻塞的流。這並不意味着先前寫入的數據完全傳送到連接的另一個端點 。

+0

所以我不能「使用」它來解決藍牙延遲,如果我是對的。 – Geri

+0

那麼NSStream的特點是什麼?爲什麼比創建定時器更好,並從內部定期發送一些數據?我無法真正理解這堂課。 – Geri

+0

@Geri:如果內部緩衝區已滿,寫入流可以阻塞當前線程。 NSStreamEventHasSpaceAvailable告訴你何時可以寫入。 –

相關問題