Определите «имеет смысл».Оба способа работают, но по-разному влияют на стиль, архитектуру и производительность.
Ввод / вывод данных, особенно по сети, имеет большие задержки, т.е. задержки, и приводит к нечеткому асинхронному стилю программирования, Boost Asio даже получил свое имя от.
Таким образом, использование блокировки connect
было бы очень плохим выбором в случае TCP, так как целый поток ожидает несколько мс, пока что-то не происходит, и не может больше ничего делать, в то время как это было бы нормально вслучай IPC, то есть сокеты unix.
Но так как вы хотите оба варианта, я рекомендую просто использовать async_connect
, так как вам все равно придется организовать всю программу в стиле "асинхронного" для случая TCP, иу него нет недостатков для случая сокета unix (может быть также быстрее или иметь более высокую пропускную способность, чем блокирующий).А чтобы не делать ненужных веток частными случаями, многие считают в т.ч.я как смысл.