Boost için en iyi belgeler: asio?


141

Destek web sitesinde bulunan belgeler ... sınırlıdır.

Okuduğum kadarıyla, genel fikir birliği, boost :: asio kütüphanesi hakkında iyi belgeler bulmanın zor olmasıdır.

Gerçekten böyle mi? Öyleyse neden?

Notlar:

  • Zaten (boost olmayan) Asio web sitesini buldum - ve belgeler boost web sitesinde bununla aynı görünüyor.
  • Boost :: asio'nun yeni olduğunu biliyorum! Bahane değil çözümler arıyorum.

Düzenle:

  • Boost: asio (Christopher Kohlhoff) yazarı tarafından yazılan TR2 için standart kütüphaneye bir ağ kütüphanesi eklemek için bir teklif var . Boost: asio için dokümantasyon olmasa da, TR2 teklifi için bir temel olarak kullanır. Yazar bu belgeye daha fazla çaba gösterdiğinden, referans olarak olmasa da, en azından genel bakış olarak biraz yararlı olduğunu gördüm.

Yanıtlar:


54

İlk olarak, bir süredir Boost.Asio kullanıyorum - ve endişenizi paylaşıyorum. Sorunuzu ele almak için:

  • Giriş ve öğreticinin yanı sıra Boost.Asio hakkında çok az dokümantasyon var. Ben yazar değilim, ama bunun nedeni asenkron bir IO Kütüphanesi gibi düşük seviyeli bir şeyi belgelemek için çok fazla şey olması.
  • Örnekler öğreticilere göre daha fazla bilgi vermektedir. Farklı örneklere bakmak için biraz zaman harcamanın sakıncası yoksa, başlamanız için yeterli olmaları gerektiğini düşünüyorum. Onunla kaçmak istiyorsanız, referans belgeleri size çok yardımcı olacaktır.
  • Boost Users ve Boost Developers posta listesinde gerçekten takılıp kalmayacağınızı veya belirli bir rehber olup olmadığını sorun. Bir çok insanın posta listelerindeki endişelerinizi gidermeye istekli olacağından eminim.

Birçok işlevselliği ve olası alternatif kullanım durumlarını ortaya çıkarma çabaları (Boost.Asio'nun bir parçası değildir) vardır. Bu en iyi bloglar ve diğer paketlenmemiş belgeler formları web çevresinde dağılmıştır.

Belirsiz olan ve Boost.Asio kütüphanesinin yazarı ve geliştiricileri ile gerçekten yakın koordinasyon gerektiren bir şey, onu belirli bir platform için genişletmek ve özelleştirmek veya belirli yeni işlevsellik eklemek kadar olacaktır. Bu geliştirilmelidir ama iyi bir şey, Asio'nun gelecekte standart bir kütüphane teknik raporu (STL'de asenkron bir IO kütüphanesi için) bir referans uygulaması olacak gibi görünüyor.


2
Şüpheleri doğruladığınız için teşekkür ederiz. Ne yazık ki, iyi ama sınırlı bir başarı ile, örneklerden öğrenmeye çalıştım. Ne yazık ki, bir talimatlar dizisi olarak küçük bir örnek kümesi olan bir kütüphaneyi kullanmayı haklı çıkaramıyorum. ML'yi sormak için tavsiyelerinize kulak verebilirim, ancak hevesle daha iyi destek bekliyor!
mmocny

İki ve iki tanesini bir araya getirdim. En iyi google
hit'lerinden

Evet, ama henüz açıkta söylemek istemedim. ;) Chis Kholhoff'un (yazar) ayrıca Asio ve çok yaygın olmayan koşullarda nasıl kullanılabileceği hakkında çok konuştuğu bir blogu var.
Dean Michael

@mmocny Kabul ediyorum, ancak ASIO uygulamasının kalitesi, özellikle Windows altında diğer birçok ücretsiz etkinlik kütüphanesinden daha iyi.
unixman83

63

Asio ile ilgili bir bölüm de dahil olmak üzere boost hakkında bazı güzel belgeler http://en.highscore.de/cpp/boost/index.html adresindeki (ücretsiz) boost kitabında bulunabilir . Asio bölümü genel bir genel bakış sunar ve daha sonra kendi özel asio uzantılarınızı nasıl geliştireceğinize kadar uzanır. Boris Schäling gerçekten harika bir çaba!


41

Boost.asio için tanıtım olarak kullanılabilecek iki küçük makale yazdım. Onlar edinilebilir siteme


4
Mevcut projemiz için asio veya ace kullanılıp kullanılmayacağını araştırırken Alex Ott'un web sitesini bağımsız olarak buldum. Onun sitesi birçok sorumu yanıtladı.
deft_code

Bu adamın sitesini RIP. Bu nedenle, zamanın sonuna kadar ölü web sitelerine bağlantı vermek yerine burada cevaplar gönderiyorsunuz.
maxywb

30

NOT: Biçimlendirme sorunları hakkında bilgi vermek için gamedev.net ile iletişime geçtim. Ne yazık ki bu yorumu yazarken, #include deyimlerini + eksik bir .zip dosya kaynağını gizleyen / silen web sitelerinde yapılan bazı değişiklikler nedeniyle bu kaynağın önerilmesi daha zordur.

Boost.Asio için nispeten yeni ve çok iyi bir başlangıç ​​eğitimi (bind, shared_ptr ve thread'larla nasıl etkili bir şekilde kullanılacağını da burada bulabilirsiniz) burada bulunabilir:

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

Not: c ++ 0x özellikleri kullanıyorsanız, bir işlev oluşturucu oluşturmak için bağlamanın basit kullanımlarının birçoğu lambdas ile değiştirilebilir ve shared_ptr / bind, Visual Studio'nun (veya iş parçacıklarını da içeren gcc'nin en son sürümünde de kullanılabilir .)

Belgeleri veya bir öğreticiyi ararken bu soru arama sonuçlarının en üstünde ortaya çıkmaya devam etti, bu yüzden yeni öğreticiler geldiğinde güncel tutulması önemlidir.


Harika bağlantı! Asio ile çalışmaya başlamak için kesinlikle iyi bir rehber
Ralf

1
Bu bağlantıyı gönderdiğiniz için teşekkür ederiz. Ne yazık ki, iyi olmaya başladıkça, yazarın topu düşürdüğünü, sizi doğrudan yarattığı kütüphaneye attığını ve beni tamamen kaybettiğini hissettim. Nasıl bindçalıştığını detaylı bir şekilde anlatmaktan okuyucuyu Hivekütüphanelerinde ne olduğunu tahmin etmeye bıraktı .
Rotsiser Mho

Doğrudan öğretici kovan defenition + arayüzü var. Bence bu yararlı ve mantıklı çünkü 11'in 10. sayfasında tanıtıyorlar.
M2tM

Bu makalede örneklerle birlikte bir zip dosyasından bahsediliyor, ancak bir tane göremiyorum. Ayrıca, #includes örnek koddan kesilir?
Jake Gaston

Ah, maalesef makale, köşeli parantezleri hiç ele almayan gamedev.net'in oluşturma kodunda bir güncelleme ile zamanın kumlarında aşınmış gibi görünüyor ve bu cevabın bu noktada geçerliliğini kefil edemiyorum . Yine de iyi bir referans olsa da, biçimlendirmesi açıkça doğru bir şekilde taşınmamıştır. @JakeGaston
M2tM


8

Artırmada mevcut olan asio belgeleri minimalist ama çok kesindir, her kelime önemlidir. Bununla birlikte asio'yu esas olarak SO'dan öğrendim (ve öğrenmeye devam ediyorum).

Bence, ' boost :: asio :: io_service çalıştırma yöntemi blokları / engellemelerini kaldır ' sorusunun cevabı ilk adımdır, gerçekten anlayana kadar bir okumayı tekrar okuyun, ikinci cevap da yararlıdır.

Sonra RSS yeni SO boost-asio etiketi soru ve bu iki cevap abone :

Yukarıdaki cevabın yazarı Tanner Sansburry , cevapları her zaman çok hassas, kapsamlı, referanslarla, hatta güzel şemalarla . RSS feed
Sehe (üzgünüm Sehe, sadece 2.). RSS yayını

Tüm bu malzemelerle, yakında bir asio uzmanı olacaksınız!




0

Partiye biraz geç ama "Boost Asio Network Programming" (Packt yayınlama) adlı bir kitap var.

Bunun bir kopyasını aldım, hafta sonu okudum ve daha sonra çok fazla sorun yaşamadan C ++ sunucusunda tam bir yazdım.

Feragatname: Kitapla ilgim yok


Ow. Sanırım Packt'ten Asio hakkında 3 kitap aldım ve onları güvenilir bulmadım. İnsanlar SO kitaplarına kopyaladıkları kod kokularından yanlış kitapları okuduklarında tanıyabildiğim ölçüde, bkz. Örneğin stackoverflow.com/a/48084444/85371 veya stackoverflow.com/a/47698904/85371
sehe
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.