слежение за состоянием соккетов
От: MikelSV http://www.centerix.ru
Дата: 14.09.11 21:25
Оценка:
Подскажите, как получать информацию о состоянии соккетов, в c++. select неэффективен. с epoll я не подружился, с виндовым механизмом тоже.

Меня интересует возможность получать информацию о состоянии соккетов, под линукс и винду. и хотелось бы как-то узнавать, сколько данных можно считать и послать, а то у меня получается какой-то каменный век. Хочется получить понятный и управляемый соккет. Но без нагрузки в виде epoll.

Читаю http://www.kegel.com/c10k.html , думаю попробовать ловить сигналы.
Римское правило. Тот, кто говорит, что Это не может быть сделано, никогда не должен мешать тому, кто Это делает.
Осень, ну вы поняли.
Зачем еще один код? А человек?
Re: слежение за состоянием соккетов
От: Temoto  
Дата: 14.09.11 21:38
Оценка:
MSV>Подскажите, как получать информацию о состоянии соккетов, в c++. select неэффективен. с epoll я не подружился, с виндовым механизмом тоже.

MSV>Меня интересует возможность получать информацию о состоянии соккетов, под линукс и винду. и хотелось бы как-то узнавать, сколько данных можно считать и послать, а то у меня получается какой-то каменный век. Хочется получить понятный и управляемый соккет. Но без нагрузки в виде epoll.


MSV>Читаю http://www.kegel.com/c10k.html , думаю попробовать ловить сигналы.


http://software.schmorp.de/pkg/libev.html
boost::asio.
Re: слежение за состоянием соккетов
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 15.09.11 05:35
Оценка:
Здравствуйте, MikelSV, Вы писали:

MSV>Подскажите, как получать информацию о состоянии соккетов, в c++. select неэффективен. с epoll я не подружился, с виндовым механизмом тоже.


Почему не подружился? Он, конечно, странноват, но принципиальной проблемы нет.

MSV>Меня интересует возможность получать информацию о состоянии соккетов, под линукс и винду. и хотелось бы как-то узнавать, сколько данных можно считать и послать, а то у меня получается какой-то каменный век. Хочется получить понятный и управляемый соккет. Но без нагрузки в виде epoll.


MSV>Читаю http://www.kegel.com/c10k.html , думаю попробовать ловить сигналы.


libevent вроде переносим на везде.
Re: слежение за состоянием соккетов
От: Michael Chelnokov Украина  
Дата: 15.09.11 10:30
Оценка:
Здравствуйте, MikelSV, Вы писали:

MSV>думаю попробовать ловить сигналы.


Да ну, это точно каменный век. Если C++ не смущает, то boost::asio, если смущает, то libevent.
Re: слежение за состоянием соккетов
От: Pzz Россия https://github.com/alexpevzner
Дата: 24.09.11 13:18
Оценка:
Здравствуйте, MikelSV, Вы писали:

MSV>Подскажите, как получать информацию о состоянии соккетов, в c++. select неэффективен. с epoll я не подружился, с виндовым механизмом тоже.


В унихе селект не эффективен только если у вас сокетов много. Если у вас сокетов три с половиной штуки, селект вполне не эффективен.

В венде селект не эффективен всегда, а WaitForMultipleObjects имеет неприятное ограничение в 64 хэндла. В венде я бы использовал Overlapped I/O с completion port'ом.

MSV>Меня интересует возможность получать информацию о состоянии соккетов, под линукс и винду. и хотелось бы как-то узнавать, сколько данных можно считать и послать, а то у меня получается какой-то каменный век. Хочется получить понятный и управляемый соккет. Но без нагрузки в виде epoll.


Сколько можно считать или послать вам знать совершенно ни к чему. Достаточно знать, что можно считать/послать еще.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.