pthread를 이용한 다중 접속 네트워크 프로그램을 만드려고 합니다..
다른 프로그램과 차이점은 하나의 소켓으로 들어오는 데이터 스트림을
두개의 쓰레드에서 처리방법만 달리하여 각각 처리하여, 2개의 결과를 얻으려고 합니다.
1. recv를 양쪽 쓰레드에서 각각하면서 동일 스트림을 가져오면 제일 좋을 것 같습니다만,
- socket을 복사하거나 하는 방법이 필요할 것 같고요..
2. 아니며 별도 쓰레드에서 들어오는 데이터 스트림을 ring buffer에서 채워넣고,
두개의 쓰레드에서 따로 따로 가져오면서, 처리하는 방식을 고려하고 있는데요..
- single-producer, multiple-consumer ring buffer의 pthread 버전을 구현하는 것도 쉽지는 않네요..
이런 일을 할 수 있는 간단한 방법이 있을까요?
데이터는 오디오 스트림입니다.