c++ - Unix Domain Sockets, Udp Sockets Objective C 有什么用?

标签 c++ cocoa sockets synchronization udp

我正在编写一个交互式编辑视频应用程序,它使用 Quartz Composer 作为实时视频处理器。时间和同步在我的应用程序中非常重要。

我用 C++ 编写的第一个应用程序必须在这个“路径”、“这个文件视频”、“开始”、“时间”、“停止”等发送命令。对于这个 udp 套接字工作得很好 . 我为每个命令使用一个套接字,所以命令的顺序永远不会搞砸,这样的事情将是致命的!

真正的问题是,当我的 Quartz Composer Patch 开始将当前时间发送到我的第二个应用程序时,它将控制我的时间轴栏,这样用户就有了视频实际进展的图形表示,而 Udp 套接字却没有足够快并以不同的顺序或重复发送数据包。

虽然 unix 套接字域可以帮助我,但是当我查看我在网络上找到的所有用 C 而不是用 objC 编写的示例并且 Quartz Composer 的插件只能用 objC 编码时,我知道我可以包装我自己的 C 代码,但在开始这项艰巨的任务之前,如何确定我需要的是 Unix 套接字?

对于我正在尝试做的事情,Unix socket 真的足够快速和可靠吗?

对于 objC 中的同步过程,您是否知道另一种方法?我看过管道、共享内存,但我不清楚如何在我的插件中实现它。

最佳答案

Yes i'm using UDP for Local machine i'm wondering if Unix domain sockets are faster enough to send for example 25/s or 30/s updates to my GUI in the other application UDP just gets stuck...

Unix 套接字可能会快一点,而且可能更重要的是它们提供可靠的传输(与 UDP 不同)。但是你对速度的评论,以及 UDP 作为协议(protocol)阻止你每秒向 GUI 发布 30 次更新的想法让我认为问题根本不在于协议(protocol)的选择,而在于其他地方。换句话说,我认为 Unix 套接字会比 UDP 更快,但我怀疑它们能否解决您的实际问题。

关于c++ - Unix Domain Sockets, Udp Sockets Objective C 有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4346425/

相关文章:

c++ - OpenCV 2.4.7 GPL 许可问题与 mser.cpp

c++ - 我可以在 MSVC++ 中使用 128 位整数吗?

cocoa - NSNumberFormatter 因 nil 值而失败

c++ - Xcode,Objective-C 项目 : not compiling C++ file

c - 使用 select() 使套接字超时

android - OpenGL ES 3.0。浮点纹理

c++ - 在一个函数中创建多个lock_guards

objective-c - 是否可以在不失去其他背景窗口焦点的情况下将焦点集中在 NSPanel 上?

ruby - 无法使用 Ruby 1.9.3 正确读取 HTTP 请求 header

python - 如何修复我的asyncio服务器,使其不返回[Win 10022]?