Если вы говорите о протоколе, размещенном поверх TCP, да, это может произойти. TCP не требует отправки пакетов для поддержания связи. Поэтому, если пакеты, закрывающие соединение, не доходят до сервера, сервер может подумать, что клиент все еще там, даже после того, как клиент закрыл соединение.
Поскольку это хорошо известное свойство TCP, каждый протокол, наложенный поверх TCP, должен это учитывать. Так что, если вы просто будете следовать протоколу, у вас не будет проблем.
Исключения составляют случаи, когда протокол очень плохо спроектирован или вы разрабатываете протокол. Если вы разрабатываете протокол, у вас есть много вариантов. Например, вы можете указать, что один конец должен отправлять какое-то сообщение по крайней мере каждые 10 минут. И вы можете указать, что другой конец должен закрыть соединение, если он не получит никакого сообщения в течение 20 минут.