Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > Альтернатива IOCP под никсы


Автор: REZiaMIX 5.4.2010, 11:11
Есть ли аналог виндовым IO Completion Ports под линух ? 
Какое самое производительно решение для построения сетевого сервера?(мб готовые фреймворки?)

Автор: boostcoder 5.4.2010, 11:25
Цитата(REZiaMIX @  5.4.2010,  11:11 Найти цитируемый пост)
Какое самое производительно решение для построения сетевого сервера?

epoll, kqueue. в инете полно документации.


Цитата(REZiaMIX @  5.4.2010,  11:11 Найти цитируемый пост)
мб готовые фреймворки?

boost.asio

Автор: REZiaMIX 5.4.2010, 12:02
Цитата(boostcoder @ 5.4.2010,  11:25)
Цитата(REZiaMIX @  5.4.2010,  11:11 Найти цитируемый пост)
Какое самое производительно решение для построения сетевого сервера?

epoll, kqueue. в инете полно документации.


Цитата(REZiaMIX @  5.4.2010,  11:11 Найти цитируемый пост)
мб готовые фреймворки?

boost.asio

thx smile
Хотелось бы нечто подобное:
Код

class CMyServer : public mega_network_framework
{
...
};

void onRead(CClientContext * context)
{
    // пришел новый пакет
}
void onConnect(CClientContext * context)
{
    // пришел новый коннект
}
....
int main()
{
        CMyServer server;
        server.setCallback(cb_read,&onRead);
        server.setCallback(cb_connect,&onConnect);
        server.start();
}

Автор: boostcoder 5.4.2010, 12:11
тогда: http://www.alhem.net/Sockets/index.html
но, имхо, это и в подметки boost.asio не годится  smile 

Автор: REZiaMIX 5.4.2010, 13:11
Цитата(boostcoder @ 5.4.2010,  12:11)
тогда: http://www.alhem.net/Sockets/index.html
но, имхо, это и в подметки boost.asio не годится  smile

Ну там обычные сокеты , не подвязанные к пулу потоков. Медленно , хотелось бы чтобы и производительно и с колбеками

Автор: boostcoder 5.4.2010, 13:23
Цитата(REZiaMIX @  5.4.2010,  13:11 Найти цитируемый пост)
Ну там обычные сокеты , не подвязанные к пулу потоков.

что, что, что? smile 
откуда такое желание?
вам требуется механизм мониторинга дескрипторов, я вам его и показал.
остальное за вас никто делать не будет. вы ведь программист smile 

Автор: MAKCim 5.4.2010, 21:03
посмотрите в сторону libevent
это для С
самое же производительный механизм - это aio, но в линуксе для сокето он нативно не поддерживается (надо модифицировать ядро)

Автор: boostcoder 27.7.2010, 00:23
Цитата(MAKCim @  5.4.2010,  21:03 Найти цитируемый пост)
самое же производительный механизм - это aio, но в линуксе для сокето он нативно не поддерживается (надо модифицировать ядро)

можете дать ссылку на компетентную документацию по модифицированию ядра и программированию с использованием aio?
благодарен.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)