Sim, isso é uma conexão P2P. Para mais informações, consulte: link
Existem dois clientes e interagem com um servidor.
Em algum momento, o servidor envia as informações dos clientes umas sobre as outras para fazer uma conexão.
Os dois clientes fazem uma conexão de soquete entre si para trocar dados diretamente sem passar pelo servidor.
Esta é uma conexão P2P?
Sim, isso é uma conexão P2P. Para mais informações, consulte: link
O que você acabou de descrever é chamado de "Hole Punching". Isso pode ser feito com os dois protocolos TCP e UDP . Este artigo é muito bom para explicar como isso funciona:
Depois disso, os pares podem se comunicar uns com os outros. Este método requer um servidor central para inicializar a conexão. No entanto, parece que você fez pelo menos uma pequena pesquisa sobre isso.
Os termos "cliente", "servidor" e "ponto-a-ponto" são todos um pouco ambíguos e as fronteiras entre eles são pouco nítidas.
Uma determinada entidade X que é um servidor geralmente não inicia conexões, mas espera que os clientes falem com ela. Por outro lado, os clientes não escutam conexões, mas iniciam conexões para um servidor especificado ou descoberto.
Ponto a ponto seria onde o X pode iniciar ou receber conexões.
Agora X aqui pode ser um processo, ou parte de um processo, ou um encadeamento de um processo, etc., mas deve ser o mesmo serviço. Às vezes, um processo ou programa é um cliente de um tipo de serviço e, em seguida, um servidor de outro. Então, isso não seria realmente "peer-to-peer", mas apenas um programa que é tanto um cliente (de um tipo) e um servidor (de outro tipo).
No exemplo que você fornece, há duas coisas acontecendo, um processo de descoberta e, em seguida, um processo de transferência de dados. Então você tem dois protocolos diferentes, ou partes de protocolos, acontecendo. Quase tudo que é "peer-to-peer" é uma espécie de híbrido como este, e mesmo que os pares possam trocar dados sem a assistência de um servidor, eles ainda precisam de algo como um servidor para a descoberta.
Tags networking p2p