O que é uma boa implementação de um programa de chat peer-to-peer com um servidor para atribuir conexões em C ++?
-
06-09-2019 - |
Pergunta
Por um tempo, eu estive interessado em criar um programa de chat prova-de-conceito usando C ++. Eu dei a idéia de um monte de pensamento e até mesmo escreveu o começo de como eu iria projetar o sistema, mas eu ter atingido uma barreira no meu pensamento quando se trata de implementação.
Eu quero saber o que uma implementação de um cliente de chat peer-to-peer com um servidor para conexões de rota seria semelhante em C ++.
O servidor poderia ser usado como um registro central dos colegas, mas não utilizado como ligação primária. O servidor não iria interagir com os clientes de qualquer forma, exceto para conexões atribuir entre pares para alcançar um caminho ideal entre pares. Numa primeira versão, ela seria apenas um diretório ao qual todos os clientes se conectam, e os clientes podem usar o diretório para se conectar aos outros clientes disponíveis para bate-papo. (Espero que isso explica um pouco mais). :)
Solução
Você deve olhar para a XMPP coisas . É tudo sobre roteamento e mensagens de coordenação. Ele usa de-centralização e um par peer-to-like arquitetura.
Há também uma série de implementações de código aberto. Por exemplo,
Outras dicas
Eu realmente não posso pensar em algo melhor do que o exemplo de chat em a documentação Boost.Asio. Procurar a documentação exemplos em Boost.Asio.