我很新的網絡編程,我正在寫一個程序,應該接受許多TCP連接並從它們接收數據。爲了讓事情平行進行,代理應該在新線程中從每個套接字讀取數據。我決定使用boost::asio
而不是原始* nix套接字來使事情更簡單。雖然這似乎是一個錯誤的決定......在線程中調用boost :: asio :: read()會調用線程或進程?
我不知道如果我打電話boost::asio::read
或boost::asio::read_some
塊只有它的調用線程或塊進行處理?是的,我應該寫我自己的小測試並自己看結果,但我現在無法訪問我的Linux機器。考慮明天在大學時我應該寫的代碼。
因此,如果它阻止了進程,那麼實現同時接受多個客戶端的服務器/客戶端體系結構的正確方法是什麼?
注:有關設計決策
- 我有困難。任何建議都是適當的。
感謝您的回答。我在文檔中閱讀了「HTTP Server 3」示例。這對我的需求來說太複雜了!我將改用ZMQ。 –