К сожалению, это невозможно. Нет никакого способа условно принять, используя соединение сокета TCP. Вы можете фильтровать соединение только после того, как оно установлено.
Но что именно вы пытаетесь отфильтровать? В тот момент, когда вы получаете пакет SYN, все, что вам известно, это IP-адрес источника и порт, к которому они пытаются подключиться. Кажется, что было бы намного лучше фильтровать на основе этих данных с помощью брандмауэра. Я понимаю, что это не контролируется вашим приложением, но это альтернатива для рассмотрения.