2015-02-26 1 views
0

При использовании OpenSSL в многопоточной программе необходимо реализовать определенные блокирующие обратные вызовы.Singlethreaded OpenSSL - ОК для чтения/записи на нескольких портах?

При использовании однопоточной программы, но с неблокирующими сокетами, мне нужно подумать об этом? Я имею в виду, это пролем, если несколько портов делают SSL_read/write и подключаются одновременно? Контраст, который с помощью однопроцессорной программы с блокирующими записями, где одна операция должна заканчиваться, следующая. Но с моим неблокирующим приложением можно попробовать SSL_read, и ему нужно снова позвонить ему, и перед повторным подключением другое соединение также вызовет SSL_read ...

ответ

1

Непросто использовать несколько неблокирующих сокетов параллельно и принимать TCP , подключиться и SSL-квитирование, прочитать, написать все параллельно. Я делаю это много лет, и это очень стабильно. И поскольку в один момент может быть только одна операция SSL, вам не нужна какая-либо блокировка.

+0

Ну, может быть несколько текущих операций SSL, хотя выполняется только один. –

+0

Да, но это не проблема одновременного одновременного прослушивания нескольких рукопожатий или передач. Соответствующее состояние поддерживается для объекта SSL. –