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