boost-asio

    0熱度

    1回答

    我已經重載班級中的移位運算符來提供輸入。我在該方法中執行同步asio::write(),然後立即執行異步asio::async_read()。我的問題是,班次超載需要成爲我班的朋友。 如果我提供這async_read: void operator>>(const vector<unsigned char> input, Socket &socket) { const size_t si

    2熱度

    1回答

    我正在寫一個應該監聽域套接字的客戶端。我打開一個同步連接,做一個同步寫入,並且我知道服務器發送一個有效的響應,因爲我在套接字上使用了socat到eavesdrop。 除了我的asio::read()被調用但從不返回任何數據。我傳給它的緩衝區總是空的。這裏是我的代碼: void operator>>(const vector<unsigned char> input, Socket &socket)

    1熱度

    1回答

    我有一個包裝Asio的類。它旨在模擬通過域和TCP套接字進行通信,但是我對自動執行單元測試不知所措。我查看了FakeIt,但它僅測試虛擬方法,GoogleMocks suggests模板化了我的代碼,因此我可以通過單元測試的MockAsio實現和生產中的真實Asio。 是否有任何其他方式單元測試網絡代碼?假的域和TCP套接字,而不是運行整個堆棧?如果我使用GoogleMock,爲什麼要使用一個使用

    1熱度

    2回答

    根據OpenSSL documentation,SSL_set_verify和SSL_CTX_set_verify似乎都做了幾乎相同的事情。 使用Boost庫,我不知道是否/何時需要調用ssl::stream::set_verify_callback與ssl::context::set_verify_callback,因爲流無論如何都使用上下文。這些功能分別在底層調用SSL_set_verify和

    0熱度

    1回答

    我目前正在嘗試使用boost asio進入網絡編程。 我決定嘗試一個簡單的連接開始,但我已經遇到了麻煩。要開始,我只是想在服務器和客戶端之間建立一個連接,它們都運行在同一臺機器上。 這是我的服務器代碼: try { tcp::endpoint endpoint(tcp::v4(), port); tcp::acceptor acceptor(m_io_service, end

    2熱度

    1回答

    我創建了客戶端應用程序。它在我發送單個消息客戶端< =>服務器時正常工作。但是,當我送了很多用於提高性能的目的客戶端崩潰的消息有兩種不同的方式: (gdb) run Starting program: /home/x64joxer/workerGenerators/Worker2/worker -t -i 192.168.0.6 -p 6000 -d 5 -l //home/x64joxer/w

    0熱度

    1回答

    我是新來network,tcp & sockets programming。我在我的應用程序中使用boost::asio通過wifi上的tcp/ip協議處理數據。數據是由發送的另一個在主機上運行的應用程序的IP &端口在我的應用程序啓動時已知。並且應用程序連接到此HostApp以在運行時獲取數據。 以下是連接到主機在我的應用程序的代碼段: std::shared_ptr<tcp::resolver

    1熱度

    1回答

    我想弄清楚一個簡單的調度程序的週期性任務。這個想法是提供一種方法來計劃定期執行std::function<void()>與任何給定的時間間隔,這將是一秒的乘法。我正在嘗試使用boost :: asio編寫它,但到目前爲止,我最終會遇到一些奇怪的行爲 - 兩個計劃任務中只有一個被重複執行,但它不會遵循這個時間間隔。 下面是代碼: #include <functional> #include <io

    1熱度

    1回答

    我遇到了在asio套接字上設置no_delay選項的麻煩。下面的代碼運行良好,除了延遲。我的服務器只有在5000毫秒到期後纔會收到消息。 #include <boost/asio.hpp> #include <boost/thread.hpp> using namespace boost::asio; struct Client { io_service svc; ip

    1熱度

    1回答

    我正在通過boost的asio教程工作。我正在調查他們的chat example。更具體地說,我試圖將他們的chat client從發送者+接收者分割爲發送者和接收者,但是我看到一些我無法解釋的行爲。 的設置包括: boost::asio::io_service io_service; tcp::resolver::iterator endpoint = resolver.resolve(...