Здравствуйте, Grizzli, Вы писали:
G>Гм. тут основная задача такая: в любой момент иметь возможность послать данные и получить. G>Т.е. буду я ждать приема данных, (при этом еще не факт, что мне их пошлют). G>И тут по логике программы парралельно надо мне надо будет сенд сделать... конечно можно по таймауту в цикле к примеру крутить селект ентот... но неужели по красивше никак сделать нельзя?
Самая обычная задача. Главное определиться откуда поступает сигнал о том, что нужно отправлять данные.
Смысл в том, что ты должен одновременно ждать и приема данных и сигнала на отправку. Если сигнал поступает не через дескриптор, который можно затолкать в select. То можно сделать отдельный поток который ожидает этого сигнала. А для обмена даннымим между потоками использовать pipe. Тогда ты можешь ждать одновременно данных и на сокете и на pipe, если сработал сокет — принимаешь, если pipe — отправляешь. Идея понятна?