0
您好我正在使用dispatch_io_read
在Xcode 7 Beta3 swift 2中的套接字。當期望的接收數據大小小於我指定的長度時,看起來讀取動作將保持在那裏。例如,dispatch_io_read一個套接字將等待更多的數據,如果接收數據的大小小於長度
如果我做
dispatch_io_read(channel!, 0, 1000, inputQueue!, myReadHandler)
,並從服務器的數據小於1000個字節,myReadHandler
將永遠不會被調用。
要解決這個問題,我必須逐個讀取字節,有沒有更好的解決方案?
謝謝。
你可以使用dispatch_io_set_low_water(channel!,1)在通道上調用dispatch_io_read之前將水印設置爲1 –
是的,我認爲這是可行的,也是一種做法。我結束了寫邏輯,根據標題中的信息(前2個字節)讀取確切的字節數。謝謝您的回覆。 – Zhao