假設我有一個消息隊列,例如std::deque<std::vector<uint8_t>>()
我做了一個poll()
(或選擇),並知道套接字已準備好寫入。Poco :: StreamSocket:檢測發送失敗
我做的:
const auto& message = _messageQueue.front();
_socket.sendBytes(message.data(), message.size());
_messageQueue.pop_front();
例如,我可以做到這一點字節發送的斷言是一樣的消息大小,但波索單證說StreamSocket :: sendBytes()
Returns the number of bytes sent, which may be less than the number of bytes specified.
Poco文檔也沒有說什麼實際上setBlocking()
方法。它是否阻塞,直到收到ACK數據包,並引發套接字錯誤?
請閱讀此處:[阻止vs非阻塞套接字](http://www.scottklement.com/rpg/socktut/nonblocking.html)。 –