C에서 다중 스트림 (각 스트림은 자체 버퍼가 필요함)을 버퍼링하려면 어떻게해야합니까?C에서 다중 버퍼 관리
나는 내 머리에 솔루션을 함께 넣어의 종류 :
{
stream_id
buff_ptr
}
: 이 이론은 "의사 코드"
[ptr, ptr, ptr, ptr ... ]
각 ptr
은 구조체에 대한 포인터입니다
stream_id
은 스트림의 ID입니다. (해당 정보가 있습니다. rmation)이고 buff_ptr
은 일부 malloc
데이터에 대한 포인터입니다. 또한, 버퍼는 아마 유연해야하고 그것이 유연한 (적어도 내가이 나는 기본적으로 내가 반복하여 필요한 버퍼를?
찾아 낼 것이라고 생각 할 malloc
및 free
많은 전화를해야 할 것 ptr
의 배열을 통해. 그래서
것을 "아키텍처"좋은, 또는이 더 나은 하나?
사람 "이 냥가하는 그녀는 왜?! 것이 필요"궁금해하는 경우 I Ruby/EventMachine에서 서버를 만들었습니다. 프로토콜은 실제로 썩은 (적어도) 말하고 내가 어떻게 처리 해야할지 모르겠어 ... EventMachine 나를 위해 그것을 버퍼 강제로 방법이 없다면, 그게 최고의 솔루션, 내 생각 엔.
감사합니다.
피셔 : 레이브에 대해 사과하십시오! ~
'stream_id'가'0'에서'N'까지의 정수이면'buff_ptr'의 배열을 사용할 수 있고'struct'의 목록을 검색하여 필요한 스트림을 찾을 필요가 없습니다. – hmjd
@hmjd 아, 그렇지 않습니다. 나는 그것이 처음에 있다고 생각했다. 때로는 때로는 그렇지 않은 경우도 있습니다. 정말 약간 무작위입니다. 그리고 거의 0으로 시작하지 않습니다. 실제로는 제가 생각하기에. – omninonsense
'stream_id'에 대한 미리 정의 된 범위가 있습니까? 만약 당신이 희소 배열을 사용할 수 있습니다. – hmjd