Подскажите по клиент - серверному приложению
От: trafalgarx  
Дата: 23.03.11 17:53
Оценка:
Здравствуйте. Никак не могу правильно представить реализацию следующего приложения. Оно должно подключится к n-му количеству серверов и ждать подключения к себе клиента. Как только клиент подключается к создаваемому приложению, все данные, что клиент шлет нам, мы рассылаем всем серверам, к которым подключились. А ответы от серверов шлем обратно клиенту. Следует отслеживать таймауты (так требует протокол поверх TCP) и дисконнекты (как только он обнаружился, пытаемся подключиться заново — тоже та ещё задачка). Реализовать надо на неблокирующих сокетах. Подскажите хотя бы как в общем случае подобное реализуется, может быть пример? Интересует так же правильная реализация механизма взаимодействия между клиентом и серверами. Все, что приходит на ум кажется велосипедом с квадратными колесами. Наверняка есть лаконичное решение. Голову сломал уже( Пишу на С под linux.

Пробовал заюзать libevent, в общем случае удобно. Но чтобы обработать все таймауты, передать сообщения и обработать все дисконнеты нужно выстроить кучу костылей.
tcp libevent сокеты unix
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.