ограничение количества клиентов при переполнении стека IP

Я хочу ограничить доступ к устройству для более чем 4 клиентов по IP-адресу.

struct sockaddr_in peerAddr;
SOCK_LEN_TYPE peerAddrLen = sizeof(peerAddr);
// Yes, socket is free, try to accept a connection on it
connectionSocketArr[sockIdx] = accept(listenSocket, (struct sockaddr *) &peerAddr,
&peerAddrLen);

0

Решение

Вы можете использовать sockIdx переменная, чтобы увидеть, сколько клиентов в настоящее время подключено.

Вместо того, чтобы хранить сокет, возвращенный accept непосредственно в массиве, сохраните его во временной переменной. Если sockIdx больше чем 3 тогда новому клиенту не разрешено подключаться, поэтому отправьте клиенту сообщение об этом и закройте сокет. В противном случае сохраните сокет в массиве и увеличьте sockIdx,

0

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

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

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