OpenSSL Трансляция всех клиентов, которые подключены C

0

Я был занят opensl и C под Microsoft, в настоящее время я получил многопоточный сервер и клиенты, которые обмениваются данными через SSL в сокете TCP/IP. "Мне потребовалось некоторое время, чтобы прочитать все документы/руководства от Openssl", но эй вы узнаете хотя бы что-то.

Теперь я хочу, чтобы сервер транслировал сообщение всем подключенным клиентам. Я не могу найти какую-либо информацию в Интернете, как это сделать, все для меня немного расплывчато или не документировано.

Если кто-то из вас может предоставить мне руководство или все, что связано с трансляцией для клиентов, это будет очень полезно.

Это не должно быть для microsoft, Linux/unix или всего, что может точно определить меня правильно, было бы здорово.

  • 0
    Нет единственно правильного пути, он полностью зависит от дизайна остальной части вашей программы и вашей модели ввода / вывода. Например, решения полностью отличаются, если вы используете один поток и цикл обработки событий, чем они используются, если вы используете поток для каждого клиента.
  • 0
    Забыл упомянуть, что у каждого клиента есть своя тема;) обновление квеста
Показать ещё 7 комментариев
Теги:
openssl

2 ответа

1

У TCP нет концепции вещания. Независимо от того, какие данные вы хотите "широковещать", необходимо отправить вручную на каждое отдельное TCP-соединение, которое вы установили. Тот факт, что вы используете OpenSSL, не имеет значения, поскольку трансляция не имеет ничего общего с самим SSL/TLS. Вам нужно будет отслеживать подключенных клиентов, а затем прокручивать их при необходимости отправлять ваши данные широковещания каждому клиенту по времени, точно так же, как вы отправляете любые другие данные, SSL/TLS или иным образом.

  • 0
    Нет, я упомянул, что хочу транслировать клиентов SendToAll в потоке tcp / ip, а не UDP или что-то в этом роде;)
  • 0
    То, что я сказал, остается в силе. В TCP нет вещания. Вы должны отправлять свои широковещательные данные каждому подключенному TCP-клиенту по одному самостоятельно.
Показать ещё 2 комментария
1

OpenSSL не поможет вам сделать это (например, широковещательное), либо с уровнем TLS, либо без него, ваша проблема такая же, как и передача информации по нескольким сокетам TCP. Я не вижу другого способа, чем отправить ту же самую информацию обо всех клиентах.

  • 0
    Неясный ответ, не могли бы вы указать мне, как я могу отправить что-то нескольким клиентам?
  • 0
    покажи мне свой код, я мог бы дать менее расплывчатый ответ.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню