Полагаю, я не совсем понимаю, как должны вести себя сокеты в постоянном соединении
Похоже, это так. Постоянное HTTP-соединение просто означает, что сервер может держать TCP-соединение открытым после отправки HTTP-ответа для обработки другого HTTP-запроса и что клиент может отправить другой запрос на тот же TCP-соединение , если TCP-соединение все еще открыто сервером. Как сервер, так и клиент могут решить не отправлять / получать другой запрос и закрывать соединение всякий раз, когда оно простаивает (т. Е. Нет ожидающего ответа HTTP).
Постоянное HTTP-соединение никоим образом не меняет семантику HTTP с протокола «запрос-ответ» на «все, что могут делать сокеты». Это означает, что то, как вы хотите использовать постоянство, неверно.