作者ibonek (答案是田螺)
看板MacDev
标题Re: [问题] Bonjour+CFStream
时间Tue May 17 00:27:00 2011
: 不过范例跑起来有个问题:选择了聊天室後,连线却要等1分钟左右才会建立
: 但建立连线後聊天讯息传递得很顺畅且很即时,中间的空白时间不晓得发生什麽事了?
: 想解决连线等待时间太长的问题
後来看官方文件
http://0rz.tw/QsfXJ才知道问题:
CFWriteStreamOpen(myWriteStream)是一件耗时的process
为了避免block,虽然会马上传送TRUE,但实际myWriteStream却还在建立
後来用CFReadStreamGetStatus+while回圈去看状态
会一直都是kCFStreamStatusOpening,一分钟後stream建立,状态才会变成开启完成
开启完成後,指定的callback才会被启动,连线才建立起来
最後改用NSStream解决,连线马上就建立了
但还是不懂为什麽CFStream建个连线要这麽久...
留给遇到相同问题的人一个参考
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.43.152.152
1F:推 ryanliang:推一个~ 我也是用NSStream去实作 CFStream没试用过 05/17 12:30