poco :: streamsocket:检测发送失败
Poco::StreamSocket: detect sending fail
,假设我有一个消息队列,例如std::deque<std::vector<uint8_t>>()
我做了一个poll()
(或选择),知道插座已经准备好写作。
我做:
const auto& message = _messageQueue.front();
_socket.sendBytes(message.data(), message.size());
_messageQueue.pop_front();
例如,我可以断言字节发送与消息大小相同,但是POCO文档说streamsocket :: sendbytes()
Returns the number of bytes sent, which may be less than the number of bytes specified.
POCO文档也没有说任何实际setBlocking()
方法的内容。它会阻止直到收到ACK数据包并扔在套接字错误上吗?
示例,我可以断言字节发送与消息大小相同,但是POCO文档说
StreamSocket::sendBytes()
返回发送的字节数,可能小于指定的字节数。
这仅在非阻滞模式下正确。在阻止模式下,除非有错误,否则i t将在返回之前传输所有字节。这是由Posix定义的,而不是由POCO定义。如果这里有一个实际的问题,我看不到它。
POCO文档也没有说任何实际
setBlocking()
方法的内容。它会阻止直到收到ACK数据包吗?
否。原因未来会读取要阻止直到存在数据或EOS或错误,并写入Bockuntil将数据复制到套接字发送缓冲区中的数据。
相关文章:
- 如果没有malloc,链表实现将失败
- 模板参数替换失败,并且未完成隐式转换
- 具有默认模板参数的多态类的模板推导失败
- 使用CMake检测支持的C++标准
- 检测 ICU 库在 VS2017 中失败
- 检测功能失败static_assert成语
- C++检测习惯用语失败与继承
- 对于实际指针类型,用于检测类似指针(可取消引用)类型的模板函数失败
- 为什么这C++检测T型是否具有空运算符(EDT const&)失败的特征?
- poco :: streamsocket:检测发送失败
- 如何检测 Boost.PropertyTree 的解析/读取失败
- 具有OPENCV的功能检测失败而seg故障
- 在 Windows 上的分配开始失败之前检测内存不足
- OpenCV 错误:调用检测多尺度时断言失败
- Sobel 边缘检测错误(OpenCV 错误:断言失败 (DIMS<=2&&Data&&(无符号)i0)
- 检测升压测试用例是否失败
- Istream提取操作符:如何检测解析失败
- 检测到FD_ACCEPT,但随后调用'accept'失败,并显示 10038 - WSAENOTSOCK
- 如何检测转换是否在 c++0x 中失败
- 调试断言失败!在人脸识别打开Cv的检测和显示功能中