2010-12-03 157 views
1

我在寫一個使用Quartz Composer作爲實時視頻處理器的交互式編輯視頻應用程序。時間和同步在我的應用程序中非常重要。Unix域套接字,Udp套接字Objective C使用什麼?

我的第一個以C++編碼的應用程序必須在此「時間」「停止」等此「路徑」「此文件視頻」「開始」等處發送諸如「play」之類的命令。對於此udp套接字工作正常 。 我爲每個命令使用一個套接字,所以命令的順序永遠不會混亂,這樣的事情將是致命的!

真正的問題是,當我的Quartz Composer Patch開始發送當前時間到我的第二個應用程序,該應用程序將控制我的時間線條,以便用戶具有視頻實際進度的圖形表示Udp套接字只是速度不夠快,以不同順序或重複發送數據包。

雖然那unix套接字域可以幫助我,但是當我查看所有的例子,我在網上發現在C編寫,而不是在objC和Quartz Composer的插件只能在objC編碼我知道我可以自己包裝C代碼,但在開始這個艱鉅的任務之前,如何確定Unix套接字是我需要的?

真正的Unix套接字是否足夠快速且足夠可靠用於我想要做的事情?

是否有另一種方法,你知道objC中的同步過程我看看管道,共享內存,但我不清楚如何在我的插件中實現這一點。

+0

通過「我爲每個命令使用一個套接字」,你的意思是你每次都打開一個新的套接字嗎?你使用UDP作爲本地(單機)IPC嗎?你想知道,如果Unix域套接字足夠快? – 2010-12-03 15:47:23

+0

是的,我使用UDP本地機器我想知道,如果Unix域套接字是足夠快的發送例如25/s或30/s更新到我的圖形用戶界面在其他應用程序UDP只是卡住了...是的,我使用我發送給視頻應用程序的每個命令的套接字之一播放一個說停止一個設置視頻的開始時間等 – Nairo 2010-12-03 22:02:32

回答

0

是我使用UDP本地機器 我想知道如果Unix域套接字的 更快足夠例如 25幀/秒或30幀/秒的更新在 其他應用UDP發送給我的GUI剛剛獲得 卡...

Unix套接字可能會快一點,而且可能更重要的是他們提供可靠的傳送(不像UDP)。但是你對速度的評論以及UDP作爲協議阻止你每秒向GUI發佈30次更新的想法讓我認爲這個問題不在協議的選擇中,而是在其他任何地方。換句話說,我認爲Unix套接字將比UDP更快,但我懷疑他們會解決您的實際問題。