夕阳追脚尖 2019-09-17 17:46 采纳率: 50%
浏览 1155

QT 多线程 TCP文件传输 接收不完全

最近学习文件传输 然后写了一个同窗口的发送文件和接收 小文件大文件都没问题
然后又想弄个多线程的文件传输 然后就遇到问题了
1. 首先传输小文件没问题,然后传送一般的不是很大的文件的时候就会出现客户端发送完毕,而服务器没有接收完的情况,这是什么原因?
图片说明
2. 然后传输大文件时,会出现程序崩溃的情况,这个是啥情况
图片说明图片说明
3. 再然后 在线程中如何关闭socket? 我在槽函数中关闭的话,会报错 好像说是
QSocketNotifier: Socket notifiers cannot be enabled or disabled from another thread
ASSERT failure in QCoreApplication::sendEvent: "Cannot send events to objects owned by a different thread. Current thread 0x0x246e9610. Receiver '' (of type 'QNativeSocketEngine') was created in thread 0x0x2462d1d0", file [url=kernel\qcoreapplication.cpp, line 578]kernel\qcoreapplication.cpp, line 578[/url]
图片说明图片说明

  • 写回答

1条回答 默认 最新

  • aipsys 2019-09-18 23:03
    关注

    要用共享打开,管理各线程读写文件的位置和长度,不要重合。收到写时,先建立空的一样大小文件,再按位置长度写入

    评论

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?