作者ibonek (答案是田螺)
看板MacDev
标题[问题] Bonjour+CFStream
时间Tue Apr 26 01:06:52 2011
最近尝试着要做装置间讯息的传递
打算用Bonjour network+CFStream来完成
找到了这个聊天室的范例:
http://mobileorchard.com/tutorial-networking-and-bonjour-on-iphone/
source code:
http://www.mobileorchard.com/wp-content/uploads/2009/05/chatty.zip
不过范例跑起来有个问题:选择了聊天室後,连线却要等1分钟左右才会建立
但建立连线後聊天讯息传递得很顺畅且很即时,中间的空白时间不晓得发生什麽事了?
想解决连线等待时间太长的问题
目前trace code的结果,发现从client(RemoteRoom)要求建立连线後
server(LocalRoom)过了1分钟左右才会启动callback函式
相关函式:server.m的serverAcceptCallback
connect.m的writeStreamHandleEvent和readStreamHandleEvent
google+trace了一天没有什麽收获
目前推测问题可能在这三者中:
1.Bonjour network本身有什麽特性我不了解
2.问题出在NSRunloop
3.Client端还有费时的code我没tracer到
另附上一份CFNetwork和这份code相关的的官方文件:CFNetwork Programming Guide
其中Preventing Blocking When Working with Streams这节比较相关
http://0rz.tw/QsfXJ
如果板上前辈有什麽看法或关键字还请指教了,感谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.43.156.15