저는 Quartz Composer를 실시간 비디오 프로세서로 사용하는 대화 형 편집 비디오 애플리케이션을 작성하고 있습니다. 내 응용 프로그램에서는 시간과 동기화가 매우 중요합니다.Unix 도메인 소켓, Udp 소켓 목표 C 무엇을 사용합니까?
C++로 코딩 된 첫 번째 응용 프로그램은이 "경로" "이 파일 비디오" "시작"에서 "재생"과 같은 명령을 보내야합니다.이 udp 소켓은 매우 미세하게 작동합니다. . 각 명령마다 하나의 소켓을 사용하므로 명령 순서가 엉망이되어서는 안됩니다. 그런 일은 치명적일 것입니다!
실제 문제는 내 Quartz Composer 패치가 내 타임 라인 바를 제어하는 두 번째 애플리케이션에 현재 시간을 보내고 사용자가 동영상의 실제 진행 상황을 그래픽으로 표현할 때입니다. Udp 소켓은 충분히 빠르지 않고 다른 순서 또는 중복으로 패킷을 보냅니다.
비록 유닉스 소켓 도메인이 나를 도울 수는 있었지만 웹에서 발견 된 모든 예제를 보았을 때 어디서나 C가 아닌 objC에서 볼 수 있었고 Quartz Composer 용 플러그인은 objC에서만 코딩 할 수 있었다. C 코드를 직접 랩핑해야하지만이 초소형 태스크를 시작하기 전에 유닉스 소켓이 필요한지 확인하는 방법은 무엇입니까?
정말 유닉스 소켓이 내가하려고하는 것에 대해 충분히 빠르고 안정적입니까?
다른 방법으로 objC의 프로세스를 동기화하는 방법을 알고 있습니까? 파이프, 공유 메모리가 있지만 내 플러그인에서이를 구현하는 방법이 명확하지 않습니다.
"각 명령마다 하나의 소켓을 사용합니다"라는 말은 매번 새 소켓을 열어야한다는 의미입니까? 그리고 로컬 (단일 컴퓨터) IPC에 UDP를 사용하고 있습니까? 그리고 유닉스 도메인 소켓이 충분히 빠르지 않을지 궁금한가요? –
예 로컬 컴퓨터에 UDP를 사용하고 있습니다. 유닉스 도메인 소켓이 다른 응용 프로그램에서 제 GUI에 25/s 또는 30/s 업데이트를 보낼만큼 빠르면 궁금합니다. UDP가 막혔습니다. 예. 사용하고 있습니다. 비디오 응용 프로그램에 보내는 각 명령의 소켓 하나를 말하기위한 하나의 말을위한 재생 중지 비디오 등의 시작 시간 설정 – Nairo