多次调用QTcpSocket :: write?

时间:2012-04-21 03:35:41

标签: c++ qt asynchronous qtcpsocket

根据这里http://doc-snapshot.qt-project.org/4.8/qiodevice.html

  

QIODevice的某些子类,例如QTcpSocket和QProcess,是异步的。

例如,第一次写入调用已发送一块数据。现在,在第一次写入调用完成之前,还进行了第二次写入调用以发送另一块数据。

现在发生了什么?在开始发送块之前,第二个呼叫是否等待第一个呼叫完全完成?

1 个答案:

答案 0 :(得分:1)

数据至少由系统TCP堆栈缓冲,因此每次调用write“只是”将新块附加到等待发送的未写入数据。

但是如果从2个未同步的线程中调用write,则结果是未定义的。