C ++ Asio Basit Sohbet Eğitimi

Boost Asio 'nun Eğitimlerini (Resmi web sitesi) okuyordum. Ama onlara boyunda bir ağrı buldum! Asio'da basit öğretici var mı ?! Basit bir istemci-sunucu sohbeti demek istiyorum. HAYIR YOK !! Teşekkür ederim!

19
İşte BoostCon 2010'un bazı Asio slaytları: Asio'ya Başlarken
katma yazar ildjarn, kaynak
@wjl - sohbet istemcisi örneğini artırın io_service rutinini bir iş parçacığında çalıştırır.
katma yazar Robᵩ, kaynak
Asla desteklemedim, ama Asio asenkronize olmadı mı? "Nokta" işemek değil mi?
katma yazar Seth Carnegie, kaynak
@Seth/diğerleri - Bence burada tüm senkronize olmayan i/o'ya karşı dişli senkronizasyon hakkında bir karışıklık var ... İkisi de aynı şey. Çatal() 'ı doğrudan okuma/yazma/kabul etmeden önce aramadıkça, hiçbir işin kendi iş parçacığına sokulmadan asenkronize edilemez. Eğer engelleme yapmayan kişiden bahsediyorsanız, diğeriyle hiçbir ilgisi yoktur. engelleme olmayan çağrılar kendi iş parçacığına koyulmadıkça eşzamansız değildir ve engellenirse çağrıları eşit olarak asenkronize eder. Socket.blocking'i false olarak ayarlamadığınız sürece BTW asio çağrıları engellenir, buna async_read_some() vb. Dahildir.
katma yazar JSON, kaynak
Değeri ne olursa olsun, engelleme, senkronize bir şekilde kullanıldığında, çoğu kez mesaj başına çok sayıda tekrarlanan okuma/yazma işlemine yol açan en iyi şekilde kullanılır. Bir iş parçacığı havuzu kullanmanız çok kötü değil, aksi halde birden çok yeni iş parçacığının ortaya çıkmasına neden olur. Boost asio'da bu, io_service'in birden fazla iş parçacığında çalıştırılması anlamına gelir;
katma yazar JSON, kaynak
@Seth iki tipik şema "asenkronize I/O" ve "dişli senkron G/Ç" dir. Genellikle, eşzamansız G/Ç noktası, her bir iş parçacığının eşzamanlı G/Ç kullandığı bağlantı başına bir iş parçacığı kullanmaktan kaçınmaktır. İsterseniz thread'ları ve asenkronize I/O'ları bir arada kullanabilirsiniz. Ancak bu, işleri daha da karmaşık hale getiriyor (OP'nin kaçınmaya çalıştığı şeydir).
katma yazar wjl, kaynak
Bir bakışta @Kia, boost asio kütüphanesi biraz karmaşık ve opak, ama görebildiğim kadarıyla, asio öğreticiler herhangi bir iş parçacığı kullanmazlar. Bu yanlış mı?
katma yazar wjl, kaynak

3 cevap

http://www.boost.org/doc/html/boost_asio/tutorial/tutdaytime1.html" rel="nore /tutdaytime1.html

Yukarıdaki yanlış bir şey var mı? Burada kullandığımda Boost :: Asio kullanmayı öğrendim.

10
katma
Her ne kadar bunun resmi siteden olanlar olduğunu kabul etsem de, oldukça ileriye doğru.
katma yazar blaaaaaaah, kaynak

Bu bir sohbet öğreticisi değildir ve iş parçacığı kullanır ancak bu eğiticinin takip etmesi oldukça basittir:

http://www.gamedev.net/blog/950/giriş 2249317-a-rehber-to-the-başlarken-ile-boostasio/

9
katma

Bu blog ASIO kütüphanesinin/yazarının yazarı gibi görünüyor ve bu konuda çok fazla bilgi var. .

Örneğin: boost :: asio-asio , < a href = "http://blog.think-async.com/2008/10/asynchronous-forkjoin-using-asio.html" rel = "nofollow"> çatal/asioya katılın .

1
katma