Buenas,
El hecho de que TCP sea orientado a la conexión y
fiable solo garantiza el envío en el orden correcto de los paquetes a nivel de la capa de transporte.
Sin embargo, de lo que habla Kritik (y supongo que es lo que se refiere Zairo) es de un ACK a nivel de aplicación. El hecho de haber enviado el mensaje no garantiza que haya sido procesado correctamente en el destino. También puede resultar interesante el ACK aplicativo para saber en que momento ha llegado el mensaje y poder desencadenar así un nuevo evento.
NOTA: en Java también se pueden usar sockets UDP:
http://www.java2s.com/Code/Java/Netw...gramPacket.htm
Un saludo