Mensagens diferentes enviadas no mesmo soquete são sempre recebidas na ordem FIFO do outro lado?
Não consigo encontrar essa informação em lugar nenhum, sei que o TCP reordena os pacotes, mas também conta para mensagens separadas na mesma conexão?
Se não, o que é uma classe Java para comunicação de rede que preserva a ordem FIFO entre dois pares?
Editar:
Como um comentário apontou, não há mensagens nos soquetes. O que eu estava me referindo é o uso de:
ObjectOutputStream writer = new ObjectOutputStream(socket.getOutputStream());
writer.writeObject(obj1);
writer.writeObject(obj2);
Esses objetos são concedidos para serem recebidos na mesma ordem?