boost-asio

    13熱度

    2回答

    與Boost.Asio最近玩了很多。我非常喜歡這個庫,因爲它提供了一種極好的方式來擠出當今多核系統的性能。 一個問題,我問了自己幾次,我認爲在與Asio進行異步調用時,值得關注對象的壽命/所有權。 我一再重複討論的問題是,你經常需要「過期」一個仍然有異步回調的對象。如果該對象在調用回調之前超出範圍,事情將不可避免地發生。 爲了解決這個問題,我採用了boost::enable_shared_from

    1熱度

    3回答

    我有boost :: asio庫的小問題。我的應用程序異步接收和處理數據,它創建線程並在它們中的每一個上運行io_service.run()。時間後 boost::asio::io_service io; boost::thread_group thread_pool; ... int cpu_cnt = get_cpu_count(); for (int i = 0; i < cpu_c

    1熱度

    4回答

    奇怪的程序掛起,這在調試中意味着什麼? 附着windbg中後,我發現了以下: (1714.258): Access violation - code c0000005 (first chance) First chance exceptions are reported before any exception handling. This exception may be expecte

    125熱度

    9回答

    boost website上的文檔是有限的。 從我已經能夠讀到的,一般的共識是,很難找到有關boost :: asio庫的很好的文檔。 這是真的嗎?如果是這樣,爲什麼? 注: 我已經找到了(非升壓)Asio website - 和文檔看起來是等同於提升網站上。 我知道Boost :: asio是新的!我正在尋找解決方案,而不是找藉口。 編輯: 有通過升壓的作家寫的proposal to add a

    2熱度

    3回答

    我有一個問題,從GPS設備(USB串行)讀取boost :: asio :: serial_port類。連接設備並從中讀取可以正常工作,但當斷開連接並重新連接設備時,read_some不會從端口讀取任何字節。由於boost並沒有檢測到串口已經消失(is_open()返回true),所以當我沒有獲取數據時,我定期的取消(),關閉()並打開(GPS_PORT)設備,在途中重置端口選項。但是這也沒有幫助

    1熱度

    2回答

    如果幾個不同的接受套接字使用相同的OpenSSL上下文,可以嗎? 特別是我使用了與2個不同的偵聽套接字相同的boost :: asio :: ssl :: context。

    23熱度

    8回答

    有沒有辦法取消掛起的操作(沒有斷開連接)或爲boost庫函數設置超時? I.e.我想在boost asio中設置阻塞套接字的超時時間? socket.read_some(boost :: asio :: buffer(pData,maxSize),error_); 例如:我想從套接字中讀取一些信息,但是如果10秒鐘過去了,我想拋出一個錯誤。

    5熱度

    3回答

    你可以在boost asio中設置SO_RCVTIMEO和SO_SNDTIMEO套接字選項嗎? 如果是這樣怎麼樣? 注意我知道你可以使用計時器,但我想特別瞭解這些套接字選項。

    11熱度

    3回答

    我正在嘗試使用boost :: asio從串口上的設備讀取和寫入。當沒有東西需要讀取時,boost :: asio:read()和boost :: asio :: serial_port :: read_some()模塊。相反,我想檢測這種情況並寫一個命令到端口來啓動設備。 我該如何檢測沒有數據可用? 如果有必要,我可以做所有事情都是異步的,我只想避免額外的複雜性。

    0熱度

    1回答

    我目前正在修改我們現有的專有套接字封裝代碼以使用boost asio,以便它可以爲我們完成一些繁重的工作。也許我們現有代碼中最複雜的部分是多播處理代碼。該代碼允許我們的中間層服務器(我可以在一個系統中使用多個服務器)將多播發送到客戶端框,客戶端框使用這些框向服務器用戶呈現更新。 代碼複雜且容易出錯的原因是它使用了大量的原始緩衝區來根據它們來自哪裏來重組組播流。看來即使有了Boost.Asio,我也