• 7403阅读
  • 3回复

请问用QFile 打开文件错误的问题 [复制链接]

上一主题 下一主题
 
只看楼主 倒序阅读 楼主  发表于: 2009-03-09
我做的网络文件传输最后一点出了点问题,原因实在是不太清楚.

客户端下载服务器端的 .AVI 文件的时候,服务器端打开文件会失败,因为传送给客户端的信息就是文件打开失败.
而下载 .ISO 文件的时候,这个文件2.86G,没有打开失败,但是一但开始传输,客户端卡了一下,就自动退出,似乎是崩溃,具体原因不知道.

然后下载一个 152MB的 .EXE 文件 没有任何问题,传输结束后,大小一模一样,但是问题是,下载后的这个文件无法执行,是个损坏的文件!!!!

并且这152MB的文件,传输了挺久的,大概有2 3分钟吧.本机传输应该非常块的吧?

然后下载了个811KB 的.DOC 文件,传输也正常,大小一模一样,但是用WORD打开,没内容,读不出来.用写字板打开,说文字损坏.

然后又测试了个 2KB 的 .CPP 文件,没有任何问题,内容也是正确的.

我的服务器端和客户端都是通过readReady 信号触发一个槽函数.
开始传的时候,服务器端首先手动调用一次 这个槽函数, 然后客户端 readReady信号接收到后,开始写文件,然后再发一个5字节的数据包回传给服务器端确认收到.
服务器端 readReady 信号接收到后,又继续发送下一部分数据. 一直到发送结束.  

服务器端打开文件的模式用的是 ReadOnly  客户端是 WriteOnly  一次发送接收的数据包是1001 B
请问这是什么原因呢?
离线duduqq

只看该作者 1楼 发表于: 2009-03-09
看看是不是传输的时候MIMEDATA有问题啊,不然不会只有文本格式的不出问题,而其他格式的出了问题
只看该作者 2楼 发表于: 2009-03-09
MIMEDATA 是什么东西?
只看该作者 3楼 发表于: 2009-03-09
直接tcp传输哪有MIMEDATA

仔细的debug吧,这描述看起来没什么问题

反正肯定是代码的问题不是qt的问题

再试试大点的文本文档好了,之后用二进制对比工具去做对比
快速回复
限100 字节
 
上一个 下一个