Duvida sobre aplicação de troca de mensagens

Estou envolvido em um projeto da faculdade onde preciso desenvolver um sistema de troca de mensagens, o professor pediu que fosse desenvolvido em alguma linguagem orientada a objetos. A minha duvida é, esse tipo de aplicação requer obrigatoriamente o uso de sockets? Apesar de eu ainda não ter visto esse conteúdo na faculdade imaginei que pudesse ter alguma relação, mas se não precisar de que outra forma eu poderia fazer isso?

Você pode usar sockets diretamente, criando seu próprio protocolo, ou trabalhar num nível mais alto e usa protocolos já existentes como TCP ou UDP (que usam sockets como base). Boa parte dos protocolos de rede atuais operam em cima de sockets, justamente porque eles são bastante úteis e práticos.

Abraço.

Certo, existe um jeito fácil de aprender socket? Um tutorial bom por exemplo, pode ser em Python, C++ ou Java mesmo.

Existem outros métodos. Depende das ferramentas que você pode usar. Se fosse eu, usaria MQTT por ser simples de implementar e realmente fácil.