Conexão entre dois clientes com Sockets

Olá, pessoal , estive procurando na internet mas não consegui sanar minha dúvida…

O problema é o seguinte, estou desenvolvendo um jogo que já possui a parte de dois jogadores no mesmo pc pronta, e quero fazer com que dois jogadores possam jogar em máquinas diferentes. Mas, como eu não quero limitar para apenas uma dupla de jogadores, estive pensando numa solução :

Um servidor recebe as requisições de conexão e forma as duplas para jogar, pegando o IP das máquinas e estabelecendo uma conexão direta entre esses dois jogadores, a dúvida é: é possível conectar diretamente dois clientes , ou há outra forma de fazer isso ?

Valeu