QTcpSocket::write 上的多次调用
Multiple calls on QTcpSocket::write?
根据这里 http://doc-snapshot.qt-project.org/4.8/qiodevice.html
QIODevice的某些子类,如QTcpSocket和QProcess,是异步的。
例如,已进行第一次写入调用以发送数据块。现在,在第一个写入调用完成之前,还进行了第二次写入调用以发送另一个数据块。
现在怎么办?在开始发送区块之前,第二个调用是否等待第一个调用完全完成?
数据至少由系统 TCP 堆栈缓冲,因此每次调用write
"just"都会将新块附加到等待发送的未写入数据中。
但是,如果从 2 个未同步的线程调用write
,则结果是未定义的。
相关文章:
- 什么时候调用组成单元对象的析构函数
- 对RValue对象调用的LValue ref限定成员函数
- 为什么使用 "this" 指针调用派生成员函数?
- 函数调用中参数的顺序重要吗
- OpenGL - 在抛出"__gnu_cxx::recursive_init_error"实例后终止调用?
- 基于另一个成员参数将函数调用从类传递给它的一个成员
- 是否可以从从 QPrintPreviewDialog 调用的 QPrinter 对话框中删除"Write to PDF"?
- 没有匹配函数来调用"std::basic_ofstream<char>::write(std::string*, long long unsigned int)"
- 你如何"flush" write() 系统调用?
- 使用无效套接字调用boost::asio::write()使我的Blackberry 10应用程序崩溃
- 重载write(int)的调用不明确
- 调用 iostringstream::write 时出错
- 像 read() 、write() 这样的函数调用在 Linux 中是实际的系统调用吗?
- 为什么从 write() 调用 __kernel_vsyscall() 永远不会返回
- QTcpSocket::write 上的多次调用
- 如何使用系统调用 write() 输出到文件(写入文件)
- 当发生错误(拒绝访问)时调用Curl-headerfunction和write函数
- 没有匹配的函数调用 std::basic_ofstream<char>::write()
- C++ ifstream,ofstream:原始read()/write()调用和以二进制模式打开文件有什么区别?
- 如何使用 boost::asio:write 调用发送 ICU UnicodeString