Pergunta

A documentação disponível no impulso site da é ... limitado.

Pelo que tenho sido capaz de ler, o consenso geral é que é simplesmente difícil encontrar boa documentação sobre o boost :: asio biblioteca.

É este realmente o caso? Se sim, porquê?

Notas:

  • Eu já encontraram o (não-boost) Asio website - e os olhares de documentação para ser idênticos para que no site do impulso.
  • Eu sei que boost :: asio é novo! Estou à procura de soluções não desculpas.

Editar:

  • Há um proposta de acrescentar um networking biblioteca a biblioteca padrão para TR2 escrito pelo autor do Boost: asio (Christopher Kohlhoff). Enquanto não é a documentação para boost: asio, ele não usá-lo como uma base para a proposta TR2. Desde o autor colocar mais esforço em este documento, eu descobri que ele seja um pouco útil, se não como uma referência, então, pelo menos como uma visão geral.
Foi útil?

Solução

Em primeiro lugar, eu tenho usado Boost.Asio há bastante já algum tempo - e eu compartilho sua preocupação. Para abordar a sua pergunta:

  • Não há realmente muito escassa documentação sobre Boost.Asio além da introdução e tutorial. Eu não sou o autor, mas esta é principalmente porque há apenas muitas coisas para documento para algo tão baixo nível como um IO Biblioteca assíncrona.
  • Os exemplos dar mais longe do que os tutoriais fazer. Se você não se importar em gastar um pouco de tempo olhando para as diferentes exemplos, eu acho que eles deveriam ser suficiente para você começar. Se você quer fugir com ele, em seguida, a documentação de referência deve ajudá-lo muito.
  • Pergunte ao redor nas Usuários Boost e impulsionar lista de discussão Desenvolvedores se você está realmente preso ou à procura de orientação específica. Tenho certeza que um monte de gente vai estar disposto a resolver suas preocupações sobre as listas de discussão.

Existem esforços (não faz parte do Boost.Asio) para expor um monte de funcionalidade e possíveis casos de uso alternativo. Isso na melhor das hipóteses é espalhados pela web em blogs e outras formas de documentação não embalados.

Uma coisa que é clara e que irá realmente precisa estreita coordenação com o autor e desenvolvedores da biblioteca Boost.Asio seria tão longe como estender e personalizá-la para uma plataforma específica ou a adição de novas funcionalidades específicas. Isto deve ser melhorado no entanto mas a coisa boa é que está parecendo Asio será uma implementação de referência para um relatório técnico biblioteca padrão (para uma biblioteca IO assíncrono no STL) no futuro.

Outras dicas

Alguns documentação agradável no impulso incluindo um capítulo sobre asio pode ser encontrado em uma (livre) impulso livro em http://en.highscore.de/cpp/boost/index.html . O capítulo sobre asio fornece uma visão geral e, em seguida, vai tão longe como a forma de desenvolver o seu próprio costume asio extensões. esforço realmente fantástico por Boris Schäling!

Eu escrevi dois pequenos artigos que poderiam ser usados ??como introduções para boost.asio. Eles estão disponíveis a partir meu site

NOTA: Tenho contactado gamedev.net para informá-los sobre as questões de formatação. Infelizmente, no momento de escrever este comentário, este recurso é mais difícil recomendar devido a algumas alterações com o seu site, que ocultar / excluir as instruções # include + um recurso de arquivo .zip em falta.

Um relativamente novo e muito bom tutorial iniciante para Boost.Asio (que também introduz como usá-lo de forma eficaz com bind, shared_ptr e threads) pode ser encontrada aqui:

http://www.gamedev.net/blog/950/entry-2249317-a-guide-to-getting-started-with-boostasio?pg=1

Nota: Se você estiver usando c ++ 0x apresenta muitos dos usos simples do ligamento para criar um functor pode ser substituído por lambdas, e shared_ptr / bind também estão disponíveis na versão mais recente do Visual Studio (ou gcc que também inclui tópicos.)

Quando eu estava à procura de documentação ou um tutorial esta questão continuou aparecendo no topo dos resultados de busca, por isso é importante mantê-lo atualizado conforme novos tutoriais vêm por aí.

Eu estava muito curioso sobre isso também, mas esta página me deu alguma vantagem. É em francês, mas você poderia usar Traduz Google que é muito legível (eu tinha que seguir por esse caminho eu).

http://gwenael-dunand.developpez.com/tutoriels/cpp / boost / ASIO /

A documentação asio, aquele disponível no impulso, é minimalista, mas muito precisa, cada palavra é significativa. Dito isto, eu aprendi asio (e continuar a aprender), principalmente a partir de SO.

Em minha opinião, a resposta para ' confuso quando boost :: asio :: io_service blocos método run / desbloqueia ' é o primeiro passo, ler um ler novamente até que você realmente entendê-la, segunda resposta é também útil.

Então eu RSS subscrito mais novo SO boost-asio tag questão e estes dois answerers:

Tanner Sansburry , o autor da resposta acima, suas respostas são sempre muito preciso, abrangente, com referências, mesmo belo esquema s. feed RSS
sehe (desculpe sehe, apenas a segunda). feed RSS

Com todo esse material, em breve você vai ser um especialista asio!

Um pouco atrasado para a festa, mas não há um livro chamado "impulso Programação Asio de rede" (Packt Publishing).

Eu comprei uma cópia deste, lê-lo no fim de semana e, em seguida, escreveu um completo no servidor em C ++ sem muito problema.

Disclaimer: Eu não tenho nada a ver com o livro

Eu tropecei no seguinte pdf: http://boost.cowic.de/rc/pdf/asio_doc.pdf

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top