Winsock слушает и принимает функции (C ++)

Если у меня есть прослушивающий сокет в бесконечном цикле, могу ли я узнать, было ли с ним установлено соединение, прежде чем я запустил функцию accept?
Я хочу иметь возможность выполнить некоторые действия, прежде чем я:

sock_connection[0] = accept(sock_listen, (SOCKADDR*)&Address, &AddressSize)

В частности, как вы можете видеть, моя переменная sock_connection [0] является массивом. Теперь, прежде чем я на самом деле приму соединение, я хочу иметь возможность пройти через этот массив, и вместо 0, который у него есть сейчас, он должен вернуть доступное место в массиве.

Итак, есть ли способ обнаружить соединение до запуска accept?

1

Решение

Не будет ли проще использовать динамический контейнер?

Что-то вроде:

vector<int> socket_pool;
int connection = accept(sock_listen, (SOCKADDR*)&Address, &AddressSize);

if (connection > 0)
socket_pool.push_back(connection);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]