O cliente não sabe que seu ACK foi recebido, mas por que ele se importa? A conexão é estabelecida se o ACK é recebido ou não. Você nunca saberá com certeza que o último pacote enviado foi recebido, então você deve criar um protocolo que não exija isso.