找回密码
 立即注册
收起左侧

socket发送文件例子的疑问

1
回复
6710
查看
[复制链接]
累计签到:2 天
连续签到:1 天
来源: 2014-1-22 09:54:52 显示全部楼层 |阅读模式
1Qter豆
    我是个新手,买了本《Qt及Qt Quick开发实战精解》跟着第五章敲了一遍代码,编译之后也能发送接收文件,但是有个疑问不太清楚,请大神指点一下:

    在服务器端发送文件,在客户端接收文件,服务器端的“updateClientProgress”函数是不是个类似递归性质的函数?
    clientConnection = tcpServer->nextPendingConnection();
    connect(clientConnection, SIGNAL(bytesWritten(qint64)),this, SLOT(updateClientProgress(qint64)));
    在socket创建的时候关联了这个信号和槽函数,只要在函数updateClientProgress(qint64)中写数据就会产生bytesWritten信号,信号又关联了槽函数,这样
反复调用,直到文件大小全部发送?
    我的疑问是,在客户端接收的时候,如果写入的速度慢了怎么办?比如客户端上一次发送的数据还没写完,递归调用又开始了,这样客户端接收的文件
是不是就乱了?这种情况会发生吗?应该怎么解决呢?

最佳答案

查看完整内容

有缓冲区的,这个不需要自己考虑。
回复

使用道具 举报

累计签到:1571 天
连续签到:1 天
2014-1-22 09:54:53 显示全部楼层
有缓冲区的,这个不需要自己考虑。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了