0

我想使用 QTcpSocket 以 200KB/秒(5 秒的传输)发送一个 1MB 的文件。ReadyRead 插槽函数首先读取文件大小(标头),然后启动一个线程,该线程在从套接字读取 file_size 字节时阻塞。但是,由于 readyRead 插槽函数在文件传输之前结束,不会有对 readyRead 函数的新调用(新的 ReadyReads 发出)会干扰吗?

我在这里读到:如何确保不会错过来自 QTcpSocket 的 readyRead() 信号?当你在 slot 函数中时,不会发出新的 ReadyReads。

4

2 回答 2

0

您不需要启动单独的线程。只需处理每个readyRead()信号,并将任何新数据附加到文件中。最终将收到所有文件。

您不需要一次完成整个传输,只需一次写入一个文件块。

于 2013-05-14T08:00:56.223 回答
0

如果可能的话,对我自己的问题的一个明显解决方案是从 slot 函数内部的 slot 函数中断开 readyread() 信号。

于 2013-05-13T19:26:46.473 回答