[問題] Bonjour+CFStream
最近嘗試著要做裝置間訊息的傳遞
打算用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
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
MacDev 近期熱門文章
PTT數位生活區 即時熱門文章